reactjs - 我获取了一个数组并想将其添加到我的状态中
问题描述
我获取了一组对象,但无法将它们添加(或替换)到状态。
const searchSlice = createSlice({
name: 'search',
initialState: [],
reducers: {
getResults(state, action) {
state = action.payload;
},
},
});
我尝试了“state.push(action.payload)”,但结果是一个嵌套数组。“action.payload”是正确的回应。
解决方案
由于将其推入状态会创建一个嵌套数组,
要更换,请尝试
const searchSlice = createSlice({
name: 'search',
initialState: [],
reducers: {
getResults(state, action) {
return [...action.payload];
},
},
});
要添加,请尝试
const searchSlice = createSlice({
name: 'search',
initialState: [],
reducers: {
getResults(state, action) {
return [...state, ...action.payload];
},
},
});
推荐阅读
- css - 嵌套的 onHover 选择器不适用于样式化组件
- javascript - 从另一个页面刷新一个php页面
- office-js - 如何在 Word JS 加载项中检测 Windows 10 和 Office 365 版本
- python - 当我使用 end 参数时,为什么 python print() 函数会在行尾打印一个 % ?
- spring-boot - X509认证的管理端口和服务器端口
- zip - 如何调用返回 zip 文件的 API 并将 zip 存储到本地
- docker - 如何在不通过 jupyter notebook 运行的 docker 映像中定义设置
- javascript - createAsyncThunk:中止先前的请求
- java - 错误:无法找到或加载主类 org.apache.maven.wrapper.MavenWrapperMain 和 ClassnotFound 异常
- java - 如何在一定范围内加减