gpt4 book ai didi

javascript - 为什么 reducer 的初始状态没有传递给连接的组件?

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

因此,我正在尝试将 ExtReact 中的存储解析为 Reducer 中的组件(遵循以下说明:http://docs.sencha.com/extreact/6.5.0/guides/extreact_stores_in_flux.html#extreact_stores_in_flux_-_option_1__in_the_redux_store)。但似乎,我无法从 reducer 传递状态(即,我正在为存储和数据传递未定义的状态),即使当我 consol.log 存储和 reducer 中的数据对象时,我得到了具体值。值得一提的是,reducer 被添加到 index.js combineReducer 函数中,因此它被读取,这不是问题。

所以这些是代码中最重要的部分:

  1. reducer :
export function usershortcuts(state = initialState, action){
switch(action.type){
case types.USER_SHORTCUT_FETCH_DATA_SUCCESS:{
console.log("User shortcut store = state.userShortCutStore); // I am getting a concrete result
state.userShortCutData = state.userShortCutStore.getData();
console.log("User shortcut data = " + state.userShortCutData); //I am getting a concrete result
return{...state};
}
default:{
console.log(state.userShortCutStore);
return {...state};
}
}
}
  1. 初始状态:
export default {
/* User shortcuts store. */
userShortCutStore: userShortcutStore,

userShortCutData: []
}
  1. 索引.js:
const store = configureStore();

store.dispatch(usershortcutFetchDataThroughStore());

launch(
<Provider store = {store}>
<HashRouter>
<Switch>

{/* <Route path="/" name="Home" component={TextEditor}/>*/}
<Route path="/" name="Home" component={Full}/>
</Switch>
</HashRouter>
</Provider>
);
  1. ShortcutComponent 在 Header 里面,在 Header 里面
class ShortcutComponent extends Component{

constructor(props){
super(props);
this.state={
userShortCutStore: null,
userShortCutData: []
}
}

componentDidMount(){
this.setState({
userShortCutStore: this.props.userShortCutStore,
userShortCutData: this.props.userShortCutData
})
}

render(){
const userShortCutStore = this.state.userShortCutStore;
const userShortCutData = this.state.userShortCutData;
console.log("Store = " + userShortCutStore); //undefined
console.log("User shortcut data = " + userShortCutData); //undefined
return(
/* .... */
)
}
}


const mapStateToProps = (state) => {
return {
userShortCutStore: state.userShortCutStore,
userShortCutData: state.userShortCutData
}
};

export default connect(mapStateToProps) (ShortcutComponent);

最佳答案

const mapStateToProps = (state) => {
return {
userShortCutStore: state.usershortcuts.userShortCutStore,
userShortCutData: state.usershortcuts.userShortCutData
}
};

关于javascript - 为什么 reducer 的初始状态没有传递给连接的组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49816311/

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