Есть ли простой способ установить переменные состояния, как показано ниже, при переходе с RCC на RFC?
Так что в моем RCC у меня есть что-то подобное.
changeState(e) {
this.setState({
[e.currentTarget.name]: e.currentTarget.value
})
}
Можно ли написать это в RFC?
Как насчет
import { useState, useCallback } from 'react';
const [state, setState] = useState({});
const changeState = useCallback((e) => {
setState(oldState => ({ ...oldState, [e.currentTarget.name]: e.currentTarget.value }))
}, [])
О, мой плохой. Я не добавил deps [] в конце .. Теперь, кажется, все в порядке
У меня есть функция handleChangeEvent, которая принимает заданную функцию в качестве аргументов и связывает ее как собственный кастомный хук.
handleChangeEvent = (setFunction, e) => {
setFunction(e.target.value)
}
Затем в вашем компоненте вы можете использовать что-то вроде
event => handleChangeEvent(setName, event)
хотя это имеет смысл, кажется, что мой сайт зависает, когда я начинаю печатать элемент ввода, я использую changeState()..