javascript - 如何将输入值设置为 redux reducer 文件中的状态?
问题描述
这是我的输入
<input
type="text"
onChange={(e) => {
props.setInputVal(e.target.value);
}}
/>
这是动作文件
export const setInputVal = (val) => {
return {
type: SET_INPUT,
payload: val
};
};
这是我想在 redux reducer 中设置输入值的状态
const initialState = {
inputVal: ''
};
export const reducer = (state = initialState, action) => {
switch (action.type) {
case SET_INPUT:
return {
inputVal: [ action.payload ]
};
default:
return state;
}
};
但是我收到了一个错误,所以当用户在 redux reducer 中输入 inputVal 状态时,如何正确设置输入值?
解决方案
我猜你得到的错误与在动作分派inputVal
时变成数组而不是字符串的事实有关。SET_INPUT
修复你的减速器如下:
export const reducer = (state = initialState, action) => {
switch (action.type) {
case SET_INPUT:
return {
...state,
inputVal: action.payload
};
default:
return state;
}
};
您还必须使用函数连接inputVal
到输入值:connect()
<input type="text" value={props.inputVal} {...} />
推荐阅读
- java - 带有ttl(生存时间)的Firebase FCM Android Java MulticastMessage永不过期
- r - R:合并未正确对齐的数据框
- qt - 找不到编译或安装 QVTKWidget.h 的方法 [MacOs 11.6]
- python - 在 Pandas 的合并 df 中执行相当于 vlookup 的操作
- javascript - 在模态陷阱中使用跨域 iFrame 处理选项卡焦点
- python - 基于不同条件的 Seaborn 多重箱线图
- android - 有没有办法将 SQLiteDatabase 与 Room 一起使用?
- arrays - 如何从数组列中提取元素并将这些元素存储在 pyspark 的新数据框中?
- r - 语料库中最常提及的国家;从摘要中提取国名 R
- java - 如何在一行中编写具有各种输入的 Unix 命令