使用我的一个变量作为对象时,我遇到了一些问题。
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专家。
答案 0 :(得分:1)
不确定是否收到问题。您想使用action.payload.paginationName
而不是name
作为对象键吗?如果是这样,您可以这样做:
return {
...state,
[action.payload.paginationName] : newPagination,
}
基本上,[]
使您可以将变量定义为对象中的键。
答案 1 :(得分:0)
也使用name
属性初始化状态。
const PaginationReducer = function(state = {name:{}, action){