Reactjs Redux MapStateTrops未正确连接
我想在我的注册页面中使用Redux,因此我创建了一个用户缩减器:Reactjs Redux MapStateTrops未正确连接,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我想在我的注册页面中使用Redux,因此我创建了一个用户缩减器: const user = (state = initialState, action) => { switch (action.type) { case 'TYPE_FIRSTNAME': console.log('typed first name ' + action.text); return { ...state, firstName: actio
const user = (state = initialState, action) => {
switch (action.type) {
case 'TYPE_FIRSTNAME':
console.log('typed first name ' + action.text);
return { ...state, firstName: action.text };
case 'TYPE_LASTNAME':
return { ...state, lastName: action.text };
case 'TYPE_EMAIL':
return { ...state, email: action.text };
case 'TYPE_PASSWORD':
return { ...state, password: action.text };
default:
return state;
}
}
它是这样创建的:
const AppReducer = combineReducers({
nav,
user
});
export default AppReducer;
导航减速器用于导航(与react导航一起使用,工作正常)。之后,我创建了一个容器:
const mapStateToProps = state => {
return {
firstName: state.firstName,
lastName: state.lastName,
}
};
const mapDispatchToProps = (dispatch, ownProps) => ({
typeFirstName: (text) => {console.log('typed firstname');
dispatch({type: 'TYPE_FIRSTNAME', text})},
typeLastName: (text) => dispatch({type: 'TYPE_LASTNAME', text}),
registerUser: () => {
//register("mamad");
console.log('called register user : ');
dispatch({type: 'MAINSCREEN'})
}
});
export default connect(mapStateToProps,
mapDispatchToProps)(RegisterScene)
但是它从来没有被调用过,为什么?当您组合减缩器时,状态会被放入指定的状态分支 在您的情况下,您需要
state.user
因此,MapStateTops函数应该如下所示:
const mapStateToProps = state => {
return {
firstName: state.user.firstName,
lastName: state.user.lastName,
}
};
当您组合减速器时,状态被放入指定的状态分支 在您的情况下,您需要
state.user
因此,MapStateTops函数应该如下所示:
const mapStateToProps = state => {
return {
firstName: state.user.firstName,
lastName: state.user.lastName,
}
};
我发现的唯一问题是
MapStateTops
。我想应该是这样
const mapStateToProps = state => {
return {
firstName: state.user.firstName,
lastName: state.user.lastName,
}
};
如果你把错误日志放在这里,那会很有帮助 我发现的唯一问题是
MapStateTops
。我想应该是这样
const mapStateToProps = state => {
return {
firstName: state.user.firstName,
lastName: state.user.lastName,
}
};
如果你把错误日志放在这里,那会很有帮助 您的意思是,如果在
返回上放置调试器{
在mapStateToProps
中的一行,它从未被命中?从未被调用的是什么?如果您正在调用某个动作创建者,如typeFirstName
,请向我们显示您可以将代码添加到codesandbox中的代码。io@TomFenech不,但当我触发一个动作或在寄存器中打印一个道具时,它没有任何效果,只是n所有发生的事情她都是我在相关文件夹中的所有代码:容器、还原器和场景你是说如果你在返回中放置调试器{
在mapStateToProps
中的一行,它从未被命中?从未被调用的是什么?如果您正在调用某个动作创建者,如typeFirstName
,请向我们显示您可以将代码添加到codesandbox中的代码。io@TomFenech不,但当我触发一个动作或在寄存器中打印一个道具时,它没有任何效果,只是n所有发生的事情都是我在相关文件夹中的所有代码:容器、还原器和场景