現在、2つのボタン(No、Yes)(コンポーネントはネイティブベースのパッケージからインポートされています)を押すと、状態が0または1のいずれかで更新され、このフィールドが満たされている場合に通知するにはfalseを返します(デフォルトでは、どちらも押されずfalseに設定されます)。React Native - ボタンを押すと状態が更新される
私は実際にヒットしたかどうかをテストするデバッガで「いいえ」ボタンにバインドされたhandleOnClick()関数を持っていますが、この関数内では関連するコンポーネントの情報を取得する方法がわかりませんTextコンポーネント内の「No」というテキスト)、「No」または「Yes」が押されたかどうかを確認するロジックを実行できます。
これが純粋なReactで行われた場合、私はDOM要素に追加する、またはDOMをトラバースする特定のデータ属性にアクセスできますが、React Nativeでこれを行う方法や、私がアクセスできる組み込みコンポーネントにカスタムの小道具を追加することができます。
class Toggle extends Component {
constructor() {
super()
this.state = {
selectedOption: '',
isFilled: false
}
this.checkField = this.checkField.bind(this)
this.handleOnClick = this.handleOnClick.bind(this)
}
checkField() {
console.log(this)
// debugger
}
handleOnClick(ev) {
debugger
console.log("I was pressed")
}
render() {
const options = this.props.inputInfo.options //=> [0,1]
const optionLabels = this.props.inputInfo.options_labels_en //=>["No","Yes"]
return (
<View style={{flexDirection: 'row'}}>
<View style={styles.row} >
<Button light full onPress={this.handleOnClick}><Text>No</Text></Button>
</View>
<View style={styles.row} >
<Button success full><Text>Yes</Text></Button>
</View>
</View>
)
}
}
私は 'ev.target.value'を記録して、それがあなたに何を与えるかを見ていきます。それ以外の場合は、そのイベントにダイブして、子要素の値を確認する必要があります。テキスト要素 – Alastair