As of React v16.6.0, what was once
import React, { Component } from 'react';
const MyContext = React.createContext({
foo: 1,
bar: 2,
});
class MyComponent extends Component {
render() {
return (<MyContext.Consumer>{ context => {
let { foo, bar } = context;
return // ...
}}</MyContext.Consumer>);
}
}
can now be cleaned up with
import { Component } from 'react';
import MyContext from './my-context';
class MyComponent extends Component {
render() {
let { foo, bar } = this.context;
return //...
}
static contextType = MyContext;
}
// or, rather than static contextType...
MyComponent.contextType = MyContext;
It would be great if react-combine-contexts worked with this change.
import { combineContexts } from 'react-combine-contexts';
const MyContext1 = React.createContext({
foo: 1,
bar: 2,
}),
MyContext2 = React.createContext({
baz: 3
});
class MyComponent extends Component {
render() {
let { myContext1, myContext2 } = this.context,
{ foo, bar } = myContext1,
{ baz } = myContext2;
return //...
}
static contextType = combineContexts({
myContext1: MyContext1,
myContext2: MyContext2
});
}
To be honest, looking at your code, I don't know why this doesn't already work as I assume static contextType is syntatic sugar, but on Microsoft's scale of Mort/Elvis/Einstein, I'm definitely a Mort with
React Contexts, and an Elvis with React as a whole, so I'm probably wrong about that.
As of React v16.6.0, what was once
can now be cleaned up with
It would be great if
react-combine-contextsworked with this change.To be honest, looking at your code, I don't know why this doesn't already work as I assume
static contextTypeis syntatic sugar, but on Microsoft's scale of Mort/Elvis/Einstein, I'm definitely a Mort withReact Contexts, and an Elvis with React as a whole, so I'm probably wrong about that.