Я использую хуки в своем проекте реакции. Я написал функцию для управления состоянием в хуках. но я не знаю, является ли это оптимальным. Это моя функция: mapStateToDOM. js
import {useState} from 'react';
const mspStateToDOM = (initialState, state) => {
Object.keys(initialState).map(item => {
let [current, setCurrent] = useState(initialState[item]);
state[item] = {get: () => current, set: setCurrent};
});
};
export default mspStateToDOM;
И с ее помощью я могу получить переменную из состояния, используя state.varName.get()
И я могу изменить переменную, используя state.varName.set(SOME_VALUE)
Вот мой код:
import React from 'react';
import mspStateToDOM from '../config/mapStateToDOM/mapStateToDOM';
const Counter = () => {
const state = {};
const initialState = {
count: 5,
count2: 6
};
mspStateToDOM(initialState, state);
return (
<div>
<p>You clicked {state.count.get()} times</p>
<button
onClick={() => {
state.count.set(state.count.get() + 1);
}}>
Click Me!
</button>
</div>
)
};
export default Counter;
Это делает код намного чище, удобочитаемее и проще в использовании. и мне не нужно определять сеттер для каждой переменной и много раз использовать 'useState' в моем коде. но я не знаю, является ли это оптимальным. Это 1011 *