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