我怎样才能在react-native android中找到ViewById()

时间:2015-11-26 10:45:21

标签: android reactjs react-native

我在index.android.js文件中引用了这个..

<View>
  <CustomView>
    ...
  </CustomView>
</View>

2 个答案:

答案 0 :(得分:1)

这可以通过React.findNodeHandle完成。

在你的情况下,

...

var { findNodeHandle } = React;

...

render: function() {
  return (
    <View>
      <CustomView ref="customView">
        ...
      </CustomView>
    </View>
  );
},

somethingLikeComponentDidMount: function() {
  var customViewNativeID = findNodeHandle(this.refs.customView);
  // Something else...
}

...

可能会做这项工作。

对于一个工作示例(本机绑定两个组件),请将here作为JS部分,将here作为本机Java部分。

答案 1 :(得分:0)

对组件使用refs,可以作为组件的参考

前:

<View>
<TextInput style={styles.textInput}
           ref={'usrname'}
           placeholder={'Username'}
           placeholderTextColor={'red'}
           onChangeText={(userName) => this.setState({userName})}
           value={this.state.userName} />
<TouchableOpacity onPress={this._onPressButton}>
              <View style={styles.buttonContainer}>
                <Text> Submit </Text>
              </View>
            </TouchableOpacity>
</View>

和onPress:

_onPressButton: function(e){
    var x = this.state.userName;
    alert(x); //we can also use alert(this.state.userName)
  },