Должен ли я отправлять действие при наборе текста? - PullRequest
0 голосов
/ 06 мая 2020

Я работаю с небольшим проектом, используя ReactJS и Redux. Я хранил данные в магазине Redux и ищу хорошие практики, как обновлять данные там. Я могу передавать данные из хранилища в состояние и обновлять состояние каждый раз, когда печатаю, а затем обновляю состояние для сохранения, но мне интересно, это хороший способ сделать, или я должен обновлять хранилище сразу при наборе текста? Есть проблемы с производительностью? Заранее спасибо.

1 Ответ

0 голосов
/ 06 мая 2020

1) Если входное значение не требуется для других компонентов (будь то родственные, родительские или даже несвязанные компоненты), нет необходимости сохранять его в вашем магазине. Вы должны просто инкапсулировать его в состояние вашего компонента

[inputvalue, setInputValue] = useState('');

<input value={inputvalue} onChange={(e) => setInputValue(e.target.value)}

2) Если это требуется для других компонентов, вы решаете сохранить ввод в хранилище. Обратите внимание: если вы последуете этому подходу, вам придется обновлять хранилище при каждом изменении входного значения.

Предполагая, что это подключенный компонент,

const { inputValue, updateInputValue} = props;

<input value={inputValue} onChange={(e) => updateInputValue(e.target.value) }

3 ) Если есть какие-либо побочные эффекты (такие как выборка данных из внешнего API), которые возникают из-за изменения ввода, вы можете заблокировать срабатывание побочного эффекта.

...