@RinGun5

Почему TextInput в компоненте очищается при редактировании TextInput в родительском компоненте?

К примеру есть компонент

function TestComponent()
{
    const [testValue, setTestValue] = useState('');

    return <TextInput
        value={testValue}
        onChangeText={(text) => setTestValue(text)}
        style={styles.input}
        placeholder="Текст"
        maxLength={50}
    />
}

И при заполнении родительского TextInput, очищается TextInput находящийся в компоненте TestComponent

<TextInput
 value={someValue}
 onChangeText={(text) => setSomeValue(text)}
 style={styles.input}
 placeholder="Текст"
 maxLength={50}
/>
<TestComponent/>

Думаю, что суть даже не в TextInput. По всей видимости, компонент рендерится каждый раз, когда что то происходит извне. Вопрос, как этого можно избежать? Заранее спасибо.
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase
1 хранить значение дочернего компонента в родителе
2 хранить значение например в redux
3 попробовать использовать shouldComponentUpdate
4 поднять поле импута в родительский компонент
5 можно еще посмотреть в сторону React.memo и React.PureComponent
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
02 июн. 2024, в 01:13
2000 руб./за проект
01 июн. 2024, в 23:49
50000 руб./за проект
01 июн. 2024, в 23:20
30000 руб./за проект