Сброс состояние по key в React В реакте есть классная особенность… — Misha Lubarets | Frontend Dev — TG.ME

Сброс состояние по key в React

В реакте есть классная особенность, можно сбрасывать состояние компонента с внутренним useState() если в компонент прокинуть key. Вот пример:
import { useState } from 'react';   

export default function App() {
const [version, setVersion] = useState(0);

function handleReset() {
setVersion(version + 1);
}

return (
<>
<button onClick={handleReset}>Reset</button>
<Form key={version} />
</>
);
}

function Form() {
const [name, setName] = useState('Taylor');

return (
<>
<input
value={name}
onChange={e => setName(e.target.value)}
/>
<p>Hello, {name}.</p>
</>
);
}


Здесь <Form /> имеет свой внутренний стейт. В родительском компоненте мы присваиваем ему key, который храним в отдельном стейте. Когда нужно сбросить состояние формы, мы устанавливаем новый ключ, чем вызываем ререндер формы

Дока
😢1💅1
April 12, 2024 282 3