【发布时间】:2021-02-25 13:57:48
【问题描述】:
我无法使用 MobX 重新渲染 React。
我正在按照文档设置所有内容。我的课程包含 action 和 observable 装饰器。我尝试使用useObserver hook 或observer HOC 连接React 组件,它只是不会重新渲染。
片段:
import React from "react";
import ReactDOM from "react-dom";
import { action, observable } from "mobx";
import { observer, useObserver } from "mobx-react-lite";
class Timer {
@observable secondsPassed: number = 0;
@action increaseTimer() {
console.log("here");
this.secondsPassed += 1;
}
}
const myTimer = new Timer();
setInterval(() => {
myTimer.increaseTimer();
}, 1000);
const TimerView = ({ timer }: { timer: Timer }) => {
return useObserver(() => <div>{timer.secondsPassed}</div>);
};
ReactDOM.render(<TimerView timer={myTimer} />, document.body);
https://codesandbox.io/s/minimal-observer-forked-gif4q?file=/src/index.tsx
我试图让它与装饰器一起工作,我做错了什么?
【问题讨论】:
-
谢谢你的澄清,我遇到了同样的问题