javascript - 如何在我的减速器中使用一个变量,用一个对象设置
问题描述
我在使用我的一个变量作为对象时遇到了一些问题。
import React from 'react'
const PaginationReducer = function(state = {}, action){
switch(action.type){
case 'PAGINATION_INIT_REDUCER' :
console.log('REDUCER RECEIVED ' + action.payload.currentPage);
state[ action.payload.name ] = action.payload.value;
state[action.payload.totalPage] = action.payload.totalPage
state[action.payload.currentPage] = action.payload.currentPage
return { ...state }
break;
case 'PAGINATION_CHANGE' :
var newPagination = {totalPage : action.payload.totalPage, currentPage:action.payload.currentPage }
var name= action.payload.paginationName;
return { ...state, name : newPagination }}
break;
}
return state;
}
导出 {PaginationReducer}
我的问题是使用名称,我找不到将 action.payload.paginationName 作为我的密钥的方法。
我不是 Js 方面的专家。
解决方案
不知道我是否得到这个问题。您想action.payload.paginationName
用作对象键而不是name
? 如果是这样,您可以这样做:
return {
...state,
[action.payload.paginationName] : newPagination,
}
基本上,[]
允许您使用定义的变量作为对象中的键。
推荐阅读
- javascript - Promise 递归在 promise.all 之后完成,应该添加到 promise.all 数组中
- python - 将不同列表中的相应元素连接到一个列表中
- java - 填充树图
和 数据 - laravel - 使用 Guzzle 代替 Curl
- tensorflow - 使用 C API 冻结图形
- javascript - 在 Pug 中打印没有包装标签的变量
- java - 创建与嵌入式 Neo4j 数据库的螺栓连接
- reactjs - setState 在初始提交时不更新状态,仅在后续提交时更新
- asp.net-core - Microsoft.Extensions.* 版本混淆
- r - 通过名称存储在字符数据类型中的所有变量的行索引获取所有值