调度没有'无法立即更新组件
Dispatch doesn't update component instantly
为了参考,我正在学习本教程。我的试用版应用程序是一个用户管理工具。当前在下面显示用户列表的是商店代码。它使用dispatcher.dispatch({type: "CREATE_USER", name: "Andrew"})
成功地将一个用户添加到列表中。然而,直到我点击一条路线,它才会更新。
import { EventEmitter } from "events";
import dispatcher from "../Dispatcher";
class UserManagement extends EventEmitter{
constructor(){
super();
this.users =
[
{
id: 1234,
name: 'Anton',
email: 'escalante.anton@outlook.com'
},
{
id: 12345,
name: 'Bacon',
email: 'bacon@me.com'
}
];
}
getAll(){
return this.users;
}
createUser(name){
const id = Date.now();
this.users.push({
id,
name,
email: 'default@email.com'
});
this.emit("change");
}
handleActions(action){
switch(action.type){
case "CREATE_USER":{
this.createUser(action.name);
break;
}
}
}
}
const userobj = new UserManagement;
dispatcher.register(userobj.handleActions.bind(userobj));
window.dispatcher = dispatcher;
export default userobj;
编辑我想我需要触发状态更改吗?
要重新渲染数据,您应该通过调用setState或使用forceUpdate 强制渲染来触发渲染
请注意,不建议使用forceUpdate,组件读取存储数据的正确方法是将数据复制到状态中,然后在渲染函数中从此状态读取。
http://blog.andrewray.me/flux-for-stupid-people/
相关文章:
- 调度没有'无法立即更新组件
- React js更改状态不会更新组件
- 如何使用JavaScript更新JSP页面的一些组件
- 如何在加载Angular2.RC1子组件时更新它
- ReactJS组件中显示的视频未更新
- 如何创建独立于数组更新的组件列表
- 组件道具更改后更新redux存储
- 如何根据其他组件中的事件更新组件URL
- 在ReactJs中更新组件时更新jQuery slick carousel
- ReactJS:如何在改变状态后立即更新组件
- ReactJS - 在更改单独的类属性时更新组件
- Redux未更新组件
- 更新组件后,Javascript无法工作
- 从外部更新组件属性
- React用class查找所有组件,从外部更新组件状态或道具.模态叠加
- React-Redux connect()不更新组件,即使状态被改变而没有突变
- 道具值更改时更新组件
- Reactjs更新组件DidMount
- 反应:从渲染方法外部更新组件的 props,而不使用状态
- 如何获取模拟的反应事件以更新组件中 ref 的值