javascript - 在 redux reducer 中刷新值的问题。为什么我不能创建动作并分配新的状态值?
问题描述
我无法使用操作创建器更新我的商店值。我通常从组件中获得所有需要的值,但不能用它们替换初始状态值。我相信我犯了一个愚蠢的错误,甚至拼错了一些东西,但我已经花了很多时间,浏览器中的控制台仍然向我显示该 reducer 状态下的空字符串。
let initialstate = {
login: "",
password: ""
}
const formReducer = (state = initialstate ,action) => {
switch (action.type) {
case 'SET-FORM-DATA': {
return {
...state,
login: action.login,
password: action.password
}
}
default: return state;
}
}
export const SetFormData = (login, password) => ({
type: 'SET-FORM-DATA', login, password
})
export default formReducer;
该 formReducer 通常在 redux-store 中分配
import { applyMiddleware, combineReducers, createStore } from 'redux';
import authReducer from './auth-reducer';
import dialogsReducer from './dialogs-reducer';
import profileReducer from './profile-reducer';
import usersReducer from './users-reducer';
import thunkMiddleware from 'redux-thunk';
**import formReducer from './form-reducer';**
let reducers = combineReducers({
profilePage: profileReducer,
dialogPage: dialogsReducer,
usersPage: usersReducer,
auth: authReducer,
form: formReducer
})
let store = createStore(reducers, applyMiddleware(thunkMiddleware));
window.store = store;
export default store;
我在提交表单时称这个动作创建者为:
const onSubmit = formData => {
props.SetFormData(formData.Login, formData.password)
}
这个电话似乎是,幸运的是工作正常
解决方案
我是巴西人,因此我会说葡萄牙语,但我会使用翻译来帮助您。
我不太明白这个问题,但要处理 redux,我们必须使用dispatch
. 您没有使用它,您只是在传递 redux 值。对不起,如果我弄错了,但我使用这样的东西:
import { createTypes } from "reduxsauce";
export const gradesTypes = createTypes(
`
SET_GRADES
RESET_STATE
`,
{ prefix: "GRADES/" }
);
const setGrades = (grades) => {
return (dispatch) => dispatch({ type: gradesTypes.SET_GRADES, grades });
};
const resetState = () => {
return (dispatch) => dispatch({ type: gradesTypes.RESET_STATE });
};
export const gradesActions = {
setGrades,
resetState,
};
推荐阅读
- python - 如果条件为真,如何跳过一行代码?
- bash - 为什么即使我在参数中传递文本文件,我也会收到此文件错误和 cat 错误?
- reactjs - 如何根据条件将动态属性添加到输入元素中?
- java - 如何使用扫描仪读取整数,更具体地说是描述矩阵维度的整数,然后是矩阵中的整数?
- linux - SELinux 中的 unconfined_t 与 unlabeled_t
- angular - 我的动态数据不使用角度在 fb 中共享
- ruby-on-rails - 在rails中重命名asset_url的路径
- css - 当我要选择的变量不包含在我要设置样式的元素的父级中时,找不到正确的选择器子句
- ruby - Iterating over different hashes with one method in Ruby
- google-apps-script - How to change the Owner of a google sheet automatically when a copy of the document is made