gpt4 book ai didi

reactjs - React - 新的 Context API 不适用于 Class.contextType,但适用于 Context.Consumer

转载 作者:行者123 更新时间:2023-12-03 13:36:20 24 4
gpt4 key购买 nike

我正在尝试使用返回包装组件的 HOC 的新上下文 API。当我使用 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;
};

我在这里没有看到什么吗?

最佳答案

事实证明,即使我将react-scripts更新到2.0,我也必须自己将react更新到16.6(之前是16.3)。

我的印象是 react 脚本也可以处理 react 版本。我的错,在那里感到困惑。

关于reactjs - React - 新的 Context API 不适用于 Class.contextType,但适用于 Context.Consumer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53110121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com