Reputation: 15
I have some issues using one of my variable as an object.
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;
}
export {PaginationReducer}
My probleme is with using name, I cannot find a way to get action.payload.paginationName as my key.
I'm not an expert in Js.
Upvotes: 1
Views: 398
Reputation: 2115
Not sure if I get the question. You want to use action.payload.paginationName
as an object key instead of name
? If so, You can do this:
return {
...state,
[action.payload.paginationName] : newPagination,
}
Basically the []
lets you use defined variables as keys in objects.
Upvotes: 1
Reputation: 5912
Initialize state with name
attribute too.
const PaginationReducer = function(state = {name:{}, action){
Upvotes: 0