gpt4 book ai didi

javascript - 将状态映射到 Prop 在 Redux 之后不更新

转载 作者:行者123 更新时间:2023-11-30 11:14:53 25 4
gpt4 key购买 nike

我的 Redux Store 正在正确更新,可以使用 React Native Debugger 查看。但是,我的组件中的 Prop 没有更新并且未定义。

在我下面的组件中,您可以看到我已正确映射到“sessionModerator”reducer。我已经验证了这一点,并且可以在安慰 this.props 时看到 Prop 。

组件:

const mapStateToProps = state => {
return {
session: state.screenReducers.session,
list: state.screenReducers.sessionList,
sessionUser: state.screenReducers.sessionUser,
user: state.sharedReducers.user,
sessionListItem: state.screenReducers.sessionListItem,
sessionSortOrder: state.sharedReducers.sessionSortOrder,
sessionModerator: state.sharedReducers.sessionModerator
};
};

我的 reducer 添加如下所示:

Reducers 索引文件:

import { reducer as sessionModerator } from './session/reducers/session-moderator';

export const reducers = combineReducers({
sessionModerator: sessionModerator,
});

Action 文件:

import Types from '../../../types';

export const start = () => {
return {
type: Types.TYPES_SESSION_MODERATOR_START,
payload: true
};
};

export const stop = () => {
return {
type: Types.TYPES_SESSION_MODERATOR_STOP,
payload: false
};
};

Reducers 文件:

import Types from '../../../types';

export const reducer = (state = false, action) => {
switch (action.type) {
case Types.TYPES_SESSION_MODERATOR_START:
return action.payload;
case Types.TYPES_SESSION_MODERATOR_STOP:
return action.payload;
default:
return state;
}
};

在下图中,您可以看到商店已更新,因为 sessionModerator 的值设置为“true”,但操作期间实际 Prop 的控制台未定义。

enter image description here

我尝试过的:

我已经尝试过各种主要围绕我的状态结构的事情,例如,我尝试在实际对象中添加 bool 值并将值更新为对象属性,但这似乎没有用。我觉得我没有正确更新 bool 值,但一直无法弄清楚。

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

sessionModerator 在调试器的 screenReducers 中,而不是像在 mapStateToProps 中那样在 sharedReducers 中。试试这个:

const mapStateToProps = state => {
return {
session: state.screenReducers.session,
list: state.screenReducers.sessionList,
sessionUser: state.screenReducers.sessionUser,
user: state.sharedReducers.user,
sessionListItem: state.screenReducers.sessionListItem,
sessionSortOrder: state.sharedReducers.sessionSortOrder,
sessionModerator: state.screenReducers.sessionModerator
};
};

关于javascript - 将状态映射到 Prop 在 Redux 之后不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52005702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com