reactjs – React Mobx – 存储更改后组件不更新
发布时间:2020-12-15 05:07:34 所属栏目:百科 来源:网络整理
导读:使用Mobx,在更新商店(即单击按钮)后,组件不会重新呈现.我已经安装了mobx devtools,在初始加载后没有显示任何内容,并且控制台中没有错误.我做错了什么想法? Store.js: import { observable } from 'mobx';class Store { @observable me; constructor() { th
使用Mobx,在更新商店(即单击按钮)后,组件不会重新呈现.我已经安装了mobx devtools,在初始加载后没有显示任何内容,并且控制台中没有错误.我做错了什么想法?
Store.js: import { observable } from 'mobx'; class Store { @observable me; constructor() { this.me = 'hello'; } change_me(){ this.me = 'test 1234'; } } export default Store; layout.js: import React from "react"; import { observer } from 'mobx-react'; @observer export default class Layout extends React.Component{ render(){ return( <div> <h1>{this.props.store.me}</h1> <button onClick={this.on_change}>Change</button> </div> ) } on_change = () => { this.props.store.change_me(); } } index.js: import React from "react"; import ReactDOM from "react-dom"; import Layout from "./components/Layout"; import Store from "./Store"; import DevTools,{ configureDevtool } from 'mobx-react-devtools'; // Any configurations are optional configureDevtool({ // Turn on logging changes button programmatically: logEnabled: true,// Turn off displaying conponents' updates button programmatically: updatesEnabled: false,// Log only changes of type `reaction` // (only affects top-level messages in console,not inside groups) logFilter: change => change.type === 'reaction',}); const app = document.getElementById('app'); const store = new Store(); ReactDOM.render( <div> <Layout store={store} /> <DevTools /> </div>,app);
我首先将@action添加到你的change_me()函数中.根据我的理解,它并不总是完全需要,但是当我忘记添加它时,我已经在我自己的代码中多次遇到过这样的问题.
另外将你的.babelrc发布为@mweststrate建议,因为它可以帮助其他人检查是否加载了正确的插件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |