首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调度不会立即更新组件

调度不会立即更新组件
EN

Stack Overflow用户
提问于 2016-05-18 05:52:06
回答 1查看 50关注 0票数 1

作为参考,我遵循教程。我的试用应用是一个用户管理工具。下面显示的用户列表是存储代码。它成功地使用dispatcher.dispatch({type: "CREATE_USER", name: "Andrew"})将用户添加到列表中。然而,它不会这样做,直到我点击一个路由,然后它更新。

代码语言:javascript
复制
    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;

编辑我认为我需要触发状态更改?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-18 06:14:04

若要重新呈现数据,应通过调用setState或强制使用forceUpdate进行呈现来触发呈现。

注意,forceUpdate是不推荐的,组件读取存储数据的正确方法是将数据复制到状态并在呈现函数中从this.state读取。

http://blog.andrewray.me/flux-for-stupid-people/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37291311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档