#react-native #react-native-ui-kitten
#react-native #react-native-ui-kitten
Вопрос:
Я создаю приложение и использую react native и ui kitten. Все это работает с Expo. Теперь я внедрил флажок, но когда я нажимаю на флажок в приложении Expo (iOS), проверка отсутствует. Переменная изменяется, но состояние флажка не меняется.
<CheckBox
style={style.checkbox}
checked={privacyChecked}
onChange={(checked) => {
privacyChecked = checked;
}}
>
I accept the Privacy's
</CheckBox>
Значение по умолчанию равно false. Я нажимаю на него и устанавливаю переменной значение true. Но флажок не меняется.
Ответ №1:
Вы не можете обновить состояние с помощью =
назначения
вам нужно использовать setState
функцию, подобную
onChange={(checked) => this.setState(checked)}
потому что react не будет повторно отображать компонент, если он не исправит изменения и не будет знать, что ему необходимо выполнить повторный рендеринг компонента