Skip to content
Advertisement

Selecting an specific attribute from useState

With a React Class component i have the following state object as an example:

state = {
 typeEvent: [],
 reductionCoefficient: []
}

when i want to make a function that gets an specific attribute from the state i can simply use

getArray = (name) => {
 return this.state[name]
}

Is there something equivalent when i use Hooks? Because i would have to write this

const [typeEvent,setTypeEvent] = useState([])
const [reductionCoefficient,setCoefRed] = useState([])
const getArray = (name) => {
 if(name=='typeEvent'){
  return typeEvent
 }
 if(name=='reductionCoefficient'){
  return reductionCoefficient
 }
}

Advertisement

Answer

You can simply write your both arrays into one state:

const [state, setState] = useState({typeEvent:[], reductionCoefficient:[]});

Now just access them by their name:

state.typeEvent

or

state.reductionCoefficient
User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement