如何解决MobX 将 JSX 对象转换为代理对象
我将一个 JSX 对象存储在我的 ActiveComponent
存储中。
ActiveComponent
商店:
export default class ActiveComponent {
activeComp = <></>;
constructor() {
makeAutoObservable(this);
}
setActiveComp(n) {
// N should be a react component.
this.activeComp = n;
}
}
在 App.js
中,我通过上下文获取 Store 实例,并尝试呈现其值。
function App() {
return (
<ActiveCompContext.Consumer>
{function(value) {
console.log("Value:");
console.log(value.activeComp);
return (value.activeComp);
}}
</ActiveCompContext.Consumer>
)
}
控制台日志:
错误:
Uncaught TypeError: Cannot call a class as a function
解决方法
我已经解决了!
我使用过这样的数组:
ActiveComponentStore.activeComp = [
Start,null,];
我已经将它作为参数传递给 React.createElement
:
return React.createElement.apply(null,value.activeComp);
感谢@Tholle 的贡献。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。