我的 Redux 商店是一个数组
My Redux store is an array
我正在将 Redux 集成到我的 React Native 应用程序中。
我一直无法将状态向下传递到我的组件中,并意识到它是因为初始状态以键“0”开头,例如
{
'0': {
key: 'value'
}
}
即好像是一个数组。
因此,如果我在 connect
导出中有:
export default connect(state => ({
key: state.key,
reduxState: state
}),
(dispatch) => ({
actions: bindActionCreators(MyActions, dispatch)
})
)(MyReduxApp);
key
始终未定义,但是,reduxState
成功传递。 (当然不建议全状态下发)
根组件:
import React, { Component } from 'react-native';
import { createStore, applyMiddleware, combineReducers } from 'redux';
import { Provider } from 'react-redux';
import DataReducer from '../Reducers/Data';
import MyRedApp from './JustTunerApp';
const createStoreWithMiddleware = applyMiddleware(thunk)(createStore);
const reducer = combineReducers([DataReducer]); // ready for more reducers..
// const store = createStoreWithMiddleware(reducer);
const store = createStore(reducer);
export default class App extends Component {
render() {
console.log ("store.getState:")
console.log (store.getState())
return (
<Provider store={store}>
<MyReduxApp />
</Provider>
);
}
}
我的减速器看起来像:
const initialState = {
key : "value"
};
export default function key(state = initialState, action = {}) {
switch (action.type) {
// ...
default:
return state;
}
}
商店是否以数组形式返回?我应该如何将它传递给 connect
方法?
如果我将它作为 key: state[0].key
传递,那么它就可以工作,但根据我见过的所有示例,这似乎并不正确..
我应该早点发布根组件...掌握线索。
const reducer = combineReducers([DataReducer])
应该是
const reducer = combineReducers({DataReducer})
这里的教训是不要急于仔细查看文档!
我正在将 Redux 集成到我的 React Native 应用程序中。
我一直无法将状态向下传递到我的组件中,并意识到它是因为初始状态以键“0”开头,例如
{
'0': {
key: 'value'
}
}
即好像是一个数组。
因此,如果我在 connect
导出中有:
export default connect(state => ({
key: state.key,
reduxState: state
}),
(dispatch) => ({
actions: bindActionCreators(MyActions, dispatch)
})
)(MyReduxApp);
key
始终未定义,但是,reduxState
成功传递。 (当然不建议全状态下发)
根组件:
import React, { Component } from 'react-native';
import { createStore, applyMiddleware, combineReducers } from 'redux';
import { Provider } from 'react-redux';
import DataReducer from '../Reducers/Data';
import MyRedApp from './JustTunerApp';
const createStoreWithMiddleware = applyMiddleware(thunk)(createStore);
const reducer = combineReducers([DataReducer]); // ready for more reducers..
// const store = createStoreWithMiddleware(reducer);
const store = createStore(reducer);
export default class App extends Component {
render() {
console.log ("store.getState:")
console.log (store.getState())
return (
<Provider store={store}>
<MyReduxApp />
</Provider>
);
}
}
我的减速器看起来像:
const initialState = {
key : "value"
};
export default function key(state = initialState, action = {}) {
switch (action.type) {
// ...
default:
return state;
}
}
商店是否以数组形式返回?我应该如何将它传递给 connect
方法?
如果我将它作为 key: state[0].key
传递,那么它就可以工作,但根据我见过的所有示例,这似乎并不正确..
我应该早点发布根组件...掌握线索。
const reducer = combineReducers([DataReducer])
应该是
const reducer = combineReducers({DataReducer})
这里的教训是不要急于仔细查看文档!