-
Notifications
You must be signed in to change notification settings - Fork 1
Does not work with React v16.6.0's static contextType property #1
Copy link
Copy link
Open
Description
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.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels