React-Native:访问另一个类中的TextField值

问题描述 投票:0回答:1

作为一名iOS开发者,我正在努力与本机做出反应。

我在不同的类中有两个组件:

组件A是带有TextInput的视图

class A extends Component<Props>{
    state = {
        textFieldValue: ""
    };  
    render() {
        return (
            <View>
                <TextInput placeholder={this.props.placeholderText}
                            ref={textField => {
                                this.textField = textField;
                            }}
                            value={this.state.textFieldValue}
                            onChange={e => this.setState({ textFieldValue: e.target.value})}/>
            </View>
        );}
}

组件B在其视图中使用A.

class B extends Component<Props>{
        render() {
            return (
                <View>
                   <A placeholder={"test"}/>
                   <TouchableOpacity onPress={() => {
                                //show text of input A here
                            }}>
                        <View>
                            <Text>{text}</Text>
                        </View>
                    </TouchableOpacity>
                </View>
            );}
    }

如何使用AB中TextInput的值访问值/状态,以便在按下按钮时显示它?

javascript ios react-native textinput
1个回答
1
投票

在B级试试这个

    class B extends Component<Props>{
  render() {
      return (
          <View>
             <A placeholder={"test"} ref={c => this.textRef = c}/>
             <TouchableOpacity onPress={() => {
                          //show text of input A here
                          alert(this.textRef.state.textFieldValue)
                      }}>
                  <View>
                      <Text>{text}</Text>
                  </View>
              </TouchableOpacity>
          </View>
      );}
}

通过ref props访问A类的引用,然后获得自己的状态。

© www.soinside.com 2019 - 2024. All rights reserved.