showConfirmationMessage = () => {
Alert.alert(
'Confirmation Message',
'Proceed?',
[
{text: 'BACK', onPress: () => this.setState({ loading: false })},
{text: 'CONFIRM', onPress: () => this._getTaskData()},
],
{cancelable: false},
);
}
_getTaskData = () => {
console.log(this.component2.getValue());
}
这就是我调用该函数的方式。 当我直接调用_getTaskData()时,它可以正常工作。但是,当我像上面那样通过确认消息调用它时,它给出了错误。
答案 0 :(得分:1)
在Component2
内编写一个函数以获取输入值:
getValue = () => {
return this.state.inputValue;
}
并在Component2
内为您的Component1
设置参考
<Component2 ref={r => this.component2 = r} />
现在您可以通过this.component2
参考获得输入值
this.component2.getValue();