【发布时间】:2021-01-20 08:37:21
【问题描述】:
我有一个 if else 语句,如果是 userActionAdded 为 false,那么会运行下面的情况:
case ADD_USER_ACTION:
console.log('running now!')
return {
...state,
userActionAdded: true,
columns: state.columns.concat({title:'action1'}),
};
但是,我发现我的列从 [4] 的长度变为 [6] 的长度,因此我希望它的长度为 [5],我已经尝试过 console.log('running now!') if-else 语句,但它只运行一次。
我的 app.js:
{editUserColumns(userActionAdded)}
<Table columns={columns} dataSource={data}/>
{console.log(columns)}
editUserColumns 将被调用,并且在 editUserColumns 上:
我的状态.js
const editUserColumns = (userActionAdded) => {
if (userActionAdded) {
} else {
console.log("loaded");
dispatch({
type: ADD_USER_ACTION,
});
}
};
还有我的减速器
case ADD_USER_ACTION:
console.log("running now!");
return {
...state,
userActionAdded: true,
columns: state.columns.concat({title:'action1'}),
};
State.js 控制台日志只返回运行一次,reducer 也只返回运行一次,但是对于 app.js 控制台日志运行两次,这是我的预期。
但是,app.js 控制台日志输出数组的输出长度是 6 而不是 5
【问题讨论】:
-
绝对不可能从这段代码中得出任何结论
-
嗨@DmitryReutov,我已经编辑了一点,这就足够了吗?我选择了我认为更重要的事情
标签: reactjs