【发布时间】:2018-12-20 23:25:30
【问题描述】:
我正在尝试将 mobx 插入我正在使用 react 360 制作的 vr 应用程序中。我尝试使用装饰器语法,但在浪费了大量时间尝试实现它之后,我决定使用非装饰器语法。这是我从 mobx 文档中遇到的一个示例,我对此有疑问。代码如下:
import {observer} from "mobx-react";
var timerData = observable({
secondsPassed: 0
});
setInterval(() => {
timerData.secondsPassed++;
}, 1000);
@observer class Timer extends React.Component {
render() {
return (<span>Seconds passed: { this.props.timerData.secondsPassed } </span> )
}
};
ReactDOM.render(<Timer timerData={timerData} />, document.body);
注意 Timer 类上的 observer 声明。文档说明了这一点。
注意,使用@observer 作为装饰器是可选的,observer(class Timer ... { }) 实现完全相同。
这是实现Timer的正确方法吗?
observer(class Timer extends React.Component {
render() {
return (<span>Seconds passed: { this.props.timerData.secondsPassed } </span> )
}
})
【问题讨论】:
标签: javascript reactjs mobx mobx-react