0
react-native-elementsライブラリを参照し、そのチェックボックスコンポーネントを使用します。カスタムコンポーネントへの参照を追加する
constructor(props) {
super(props);
this.state = {
checked: true
titleText1:"Checkbox one"
titleText1:"Checkbox two"
}
}
render()
{
return (
<View>
<CheckBox ref='chk1' checked={this.state.checked} title={this.state.titleText1} />
<CheckBox ref='chk2' checked={this.state.checked} title={this.state.titleText2} onPress={this.manageChkboxes()} />
</View>);
}
manageChkboxes(){
this.state.checked=false
this.state.titleText1="Checkbox one updated"
this.state.titleText2= "Checkbox two updated"
this.refs.chk1.checked= this.state.checked;
this.refs.chk1.title= this.state.titleText1;
this.refs.chk2.checked= this.state.checked;
this.refs.chk2.title= this.state.titleText2;
}
参照プロパティを使用してコンポーネントのプロパティを変更することはできません。 manageChkboxes()関数を呼び出すと、エラーが発生します:null is not an object(evaluating 'this.refs.chk1.checked=!1')
は、プロパティのための変数を持っているとmanagechkboxes更新することが必要です。しかし、あなたはまた、常にSETSTATEを使用し、直接の状態を変更することはありません、レフリーのための文字列を使用しないでください変数。 (ほとんどの場合、新しい値で再描画させるために状態を使う必要があります) –
与えられたエラー 'undefinedはオブジェクトではありません(this.chk1.propsを評価しています)。あなたの提案に応じて私の質問を更新します – Akki
あなたはrender()のチェックボックスコンポーネントを返す必要があります。そうでなければレンダリングされません。私の答えを変えてください。 –