我可以像这样访问 redux 中的状态吗?

Can I access a state in redux like this?

源代码

redux.js

import parent_reducer from './parent_redux';
import { combineReducers } from 'redux';

export default combineReducers({ parent:parent_reducer });

父母_redux.js

import { combineReducers } from 'redux';
import { createAction, handleActions } from 'redux-actions';
import child_reducer from './child_redux';

const initial_state = {
    number: 0
};

const parent_reducer = handleActions({
    ...
}, initial_state);

export default combineReducers({ self: parent_reducer, child: child_reducer });

child_reudx.js

import { createAction, handleActions } from 'redux-actions';

const initial_state = {
    number: 0
};

export default handleActions({
    ...
}, initial_state);

我想要的

上述源码中,访问number变量时,如下。 state.parent.self.numberstate.parent.child.number

但我想访问它如下。 state.parent.numberstate.parent.child.number

分层使用 redux 时经常会出现这种不便。

有什么办法可以解决吗?感谢阅读:)

redux.js

import parent_reducer from './parent_redux';
import { combineReducers } from 'redux';

export default combineReducers({ parent:parent_reducer });

父母_redux.js

import { combineReducers } from 'redux';
import { createAction, handleActions } from 'redux-actions';
import child_reducer from './child_redux';

const initial_parent_state = 0;

const parent_reducer = handleActions({
   ...
}, initial_parent_state);

export default combineReducers({ number: parent_reducer, child: 
child_reducer });

child_reudx.js

import { createAction, handleActions } from 'redux-actions';

const initial_state = {
  number: 0
};

export default handleActions({
   ...
}, initial_state);

我只是对 parent_redux.js 做了一个小改动,同时保持其余代码不变。

这应该会为您提供所需的状态结构。

你必须明白一件事,你之前的两个减速器都return使用相同的键 number 创建一个 object,所以你需要附加一个键 [=15] =] 作为额外建立 'Redux' 的 parent-child 关系来建立状态。

相反,如果您 return 原始值,则存储该值的键可以与前一个 reducer object returned 中的键相同。

希望这可以解决您的问题,同时不会破坏您的代码模式。