本教程总共5篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章!
1、React第三方组件6(状态管理之Mobx的使用①简单使用)---2018.03.28
2、React第三方组件6(状态管理之Mobx的使用②TodoList上)---2018.03.29
3、React第三方组件6(状态管理之Mobx的使用③TodoList中)---2018.03.30
4、React第三方组件6(状态管理之Mobx的使用④TodoList下)---2018.04.02
5、React第三方组件6(状态管理之Mobx的使用⑤异步操作)---2018.04.03
开发环境:Windows 8,node v8.9.1,npm 5.5.1,WebStorm 2017.2.2
1、我们复制一份mobx2到mobx3中,并在mobx下Index.jsx中加上路由
2、修改Index.jsx
import React from 'react'; import {useStrict} from 'mobx'; import {observer} from 'mobx-react'; import State from './State' useStrict(true); const newState = new State(); @observer class Index extends React.Component { render() { return ( <div className="todoList"> <input type="text" ref="todoInput"/> <button onClick={() => newState.add(this.refs['todoInput'].value)}>添加</button> { newState.list.map(data => <li key={data.id}> {data.title} <button onClick={() => newState.edit({ id: data.id, status: data.status === 1 ? 0 : 1 })} className={data.status === 1 ? "del" : "recovery"}> {data.status === 1 ? "删除" : "恢复"} </button> </li> ) } </div> ) } } export default Index
3、修改State.js
import {observable, action} from 'mobx'; class State { @observable list = []; @action add = (title) => { if (title) { this.list.push({id: this.list.length + 1, title: title, status: 1}); } else { alert('不能为空') } }; @action edit = (obj) => { let {id, status} = obj; this.list.find(data => data.id === id).status = status; } } export default State
4、查看浏览器效果
本文完
禁止擅自转载,如需转载请在公众号中留言联系我们!
感谢童鞋们支持!
如果你有什么问题,可以在下方留言给我们!