Я пробую новый контекстный API, используя HOC, который возвращает упакованный компонент. Это не работает, когда я использую Class.contextType = Context
подход:
return function myHOC(WrappedComponent) {
class HOC extends React.Component {
// static contextType = MyContext;
render() {
console.log(this.context); // HERE, this logs `{}`
// ..do stuff
return <WrappedComponent {...this.props} />
}
}
HOC.contextType = MyContext;
return HOC;
};
Однако я создал тот же код, но с использованием <MyContext.Consumer>
, и он работал нормально:
return function myHOC(WrappedComponent) {
const HOC = (props) => (
<MyContext.Consumer>
{(context) => {
console.log(context); // HERE, correct values
return <WrappedComponent {...props} />
}}
</MyContext.Consumer>
);
return HOC;
};
Я что-то здесь не вижу?