0
我安装在index.js我的应用程序:应用程序状态不跨网页
const store = configureStore();
render(
<Provider store={store}>
<Router history={browserHistory} routes={routes} />
</Provider>,
document.getElementById('root')
);
在我的第一页我disptach我的行动:
submitForm(e) {
const language = e.target.value;
this.props.dispatch(addLanguage(language, 'language', '2'));
this.props.router.push('2');
}
行动火灾:
export const addLanguage = (value, language, page) => {
return {
type: types.ADD_LANGUAGE,
value,
field: language,
page,
};
};
它返回我的减速器中的状态:
const initialState = {
id: 0,
language: '',
session: '',
values: '',
accessCode: '',
age: 0,
gender: '',
ethnicity: '',
drinkOften: '',
drinkConcern: '',
};
export default function UserDetails(state = initialState, action) {
switch (action.type) {
case ADD_LANGUAGE:
return {
...state,
[action.field]: action.value,
};
但是,当我在我的submitForm()
中重定向到page2时,状态仍然是默认状态,有谁知道它为什么不更新吗?语言属性应该更新。任何帮助非常感谢。
感谢,你能告诉我,我该怎么办呢? – Bomber
@轰炸机U可以通过添加e.preventDefault()来停止默认动作。 –
@Bomber替换我的submitForm代码,并尝试提交 –