javascript - 如何在 React/Redux 中最好地初始化状态/设置第一个状态

标签 javascript reactjs redux

现在我在我的 reducer 中做了以下事情:

export default function (state = null, action) {

    if(state==null)
    {
        state = [
            {
                id: 1,
                first: "Bucky",
                last: "Roberts",
                age: 71,
                description: "Bucky is a React developer and YouTuber",
                thumbnail: "http://i.imgur.com/7yUvePI.jpg"
            },
            {
                id: 2,
                first: "Joby",
                last: "Wasilenko",
                age: 27,
                description: "Joby loves the Packers, cheese, and turtles.",
                thumbnail: "http://i.imgur.com/52xRlm8.png"
            },
            {
                id: 3,
                first: "Madison",
                last: "Williams",
                age: 24,
                description: "Madi likes her dog but it is really annoying.",
                thumbnail: "http://i.imgur.com/4EMtxHB.png"
            }
        ]
    }

    switch (action.type) {
        case 'USER_DELETED':
            return state.filter(user => user.id !== action.userIdToDelete);
    }

    return state;
}

所以我检查状态是否为空,如果是我填充它。有没有更好的方法来做到这一点,即不从内部填充我的 reducer ?对我来说似乎是不好的做法......

最佳答案

与其将其默认值设置为 null,不如执行以下操作

        initialState = [
        {
            id: 1,
            first: "Bucky",
            last: "Roberts",
            age: 71,
            description: "Bucky is a React developer and YouTuber",
            thumbnail: "http://i.imgur.com/7yUvePI.jpg"
        },
        {
            id: 2,
            first: "Joby",
            last: "Wasilenko",
            age: 27,
            description: "Joby loves the Packers, cheese, and turtles.",
            thumbnail: "http://i.imgur.com/52xRlm8.png"
        },
        {
            id: 3,
            first: "Madison",
            last: "Williams",
            age: 24,
            description: "Madi likes her dog but it is really annoying.",
            thumbnail: "http://i.imgur.com/4EMtxHB.png"
        }
    ];

    export default function (state = initalState, action) {
     ...
    }

关于javascript - 如何在 React/Redux 中最好地初始化状态/设置第一个状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40264996/

相关文章:

javascript - 如何在动态添加的内容中绑定(bind)knockout.js中的事件?

javascript - Bootstrap 日期时间选择器不工作

javascript - react : Passing attribute from functional component to class component via onClick

javascript - 如何在react- Three-Fiber/Three.js上创建点击事件监听器?

javascript - 如何使用流类型绑定(bind)异步操作创建者?

javascript - 使用 React/Redux,我如何动态预加载状态?

javascript - 过滤具有多个值的对象数组

javascript - 带有元素作为变量的 JQuery parentsUntil 未按预期工作

javascript - 将 Async 与 .then promise 结合使用

reactjs - 使用 ReactJs + Redux + thunk 避免显示来自其他用户的数据(旧数据)