React-Native Checkbox не может быть снят - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть CheckBox в моем приложении с естественной реакцией. При нажатии он может активироваться. Однако при повторном нажатии он не снимает флажок. Что я делаю не так?

export default class MyClass extends Component {
    constructor(props) {
        super(props);

        this.state = {
            checked: false
        };
    };

    render() {
        return (
            <View>
                <CheckBox
                    title='Click Here'
                    checked={this.state.checked}
                    onChange={() => {this.setState({checked: !this.state.checked})}}
                />
            </View>
        );
    }
}

Ответы [ 2 ]

1 голос
/ 12 апреля 2020

В зависимости от Checkbox, который вы используете, вы должны использовать правильный prop для изменения состояния

  • Если вы используете React Native Element Checkbox , вы необходимо изменить состояние следующим образом:
<CheckBox
   ...
   checked={this.state.checked}
   onPress={() => this.setState({ checked: !this.state.checked })}
 />
  • Если вы используете React Native Checkbox , вы должны изменить состояние с помощью этих реквизитов
<CheckBox
   ...
   value={this.state.checked}
   onValueChange={() => this.setState({ checked: !this.state.checked })}
 />
0 голосов
/ 12 апреля 2020

правильный метод будет зависеть от используемого вами флажка. Пожалуйста, go через список реквизитов флажка, который вы используете здесь.

Если вы используете 'response-native-checkbox', используйте onValueChange вместо onChange.

https://github.com/react-native-community/react-native-checkbox

Если вы Используете флажок для реагирующих нативных элементов: используйте onPress вместо onChange.

https://react-native-elements.github.io/react-native-elements/docs/checkbox.html#props

надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...