【发布时间】:2015-08-31 12:01:46
【问题描述】:
如何从 React Native (v0.5.0) 的组件中获取 DOM 节点?根据下面的代码 sn-p,“this.refs.abc”没有“getDOMNode()”方法。此外,“findDOMNode()”在 React 模块中不可用。 (最终,我试图找出组件的 DOM 元素的尺寸)。
'use strict';
var React = require('react-native');
var {
AppRegistry,
StyleSheet,
Text,
TouchableHighlight,
View,
} = React;
var styles = StyleSheet.create({
button: {
marginHorizontal: 100,
marginVertical: 300,
height: 50,
padding: 5,
backgroundColor: "yellow",
flex: 1,
alignItems: "center",
justifyContent: "center",
},
})
var Test = React.createClass({
handleClick: function(e) {
debugger;
var element = this.refs.abc.getDOMNode();
var element2 = React.findDOMNode(this.refs.abc);
},
render: function() {
return <Abc ref="abc" update={this.handleClick.bind(this)} />
}
});
var Abc = React.createClass({
render: function() {
return (
<TouchableHighlight
underlayColor="#A4A4A4"
style={styles.button}
onPress={() => this.props.update()}>
<View>
<Text>Testing</Text>
</View>
</TouchableHighlight>
);
}
})
AppRegistry.registerComponent('test', () => Test);
【问题讨论】:
标签: reactjs version react-native