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 업데이트를해야하는 변하기 쉬운. (당신은 대부분 새로운 값으로 재 렌더링을하기 위해 state를 사용해야 할 것입니다) –
'undefined가 객체가 아닙니다 (this.chk1.props를 평가하는 것). 제안에 따라 내 질문을 업데이트합니다. – Akki
checkbox 구성 요소를 render()에 반환해야합니다. 그렇지 않으면 렌더링되지 않습니다. 아픈 내 대답을 업데이 트하십시오. –