以JavaScript中的反应本机视图为目标
Targeting react native views in JavaScript
有没有一种方法可以像我在JavaScript for web中所做的那样,将在本地JavaScript代码中创建的视图作为目标?即给视图一个ID,然后调用document.getElementById
?
我试图实现的是通过点击按钮(TouchableHighlight)来切换视图的可见性。
有一种方法可以通过refs在React Native中定位视图或组件。https://facebook.github.io/react/docs/more-about-refs.html.
但是,在您的情况下,如果您试图切换视图,则可以通过返回基于状态变量为true或false的视图来实现这一点。类似于:
toggleView() {
this.setState({
showView: !this.state.showView
})
}
var view = <View><Text>This view is being toggled</Text></View>
<TouchableHighlight onPress={ () => this.toggleView() } >
<Text>Toggle View</Text>
</TouchableHighlight>
{this.state.showView && view}
这里设立了一个工作项目。完整代码如下。
https://rnplay.org/apps/puK5UQ
'use strict';
var React = require('react-native');
var {
AppRegistry,
StyleSheet,
Text,
View,
TouchableHighlight
} = React;
var SampleApp = React.createClass({
getInitialState() {
return {
showView: true
}
},
toggleView() {
this.setState({
showView: !this.state.showView
})
},
render: function() {
var view = <View style={{height:100, backgroundColor: 'red'}}><Text>This view is being toggled</Text></View>
return (
<View style={styles.container}>
<TouchableHighlight underlayColor="#efefef" onPress={ () => this.toggleView() } style={{marginTop:60, backgroundColor: '#ededed', height:60, flexDirection: 'row', alignItems: 'center', justifyContent: 'center' }}>
<Text style={{ fontSize:20 }}>Toggle View</Text>
</TouchableHighlight>
{this.state.showView && view}
</View>
);
}
});
var styles = StyleSheet.create({
container: {
flex: 1,
},
});
AppRegistry.registerComponent('SampleApp', () => SampleApp);
相关文章:
- '图片'没有用于本机道具的propType'RCTImageView.overlayColor&
- 在iOS和Android上使用React native时,我还能使用本机第三方lirbraries吗
- javascript函数访问ios本机功能
- 如何在从客户端接收数据时从本机方法触发javascript函数?
- 在浏览器中检测本机或第三方PDF插件
- 在视图中渲染多个按钮以编程方式进行本机反应
- react本机导航器视图不呈现
- 反应本机视图渲染
- 将本地 Web 应用包含在 react 本机 Web 视图中
- 是否可以在我现有的网络视图中通过 Javascript 打开一个新的本机网络浏览器
- 键盘关闭模式为交互式时的动画视图高度 [反应本机]
- Android Web 视图中的非本机滚动条性能
- 反应本机列表视图键
- 从列表视图传递 React 本机状态
- 以JavaScript中的反应本机视图为目标
- 使用Cordova Webview/Phonegap按钮onclick(eventlistener)更改本机视图
- 如何增加列表视图行滑动的“反应本机滑动”上的按钮宽度(React Native)
- 可触摸视图响应本机响应速度不是很好
- 反应本机列表视图可触摸突出显示
- Angular 2 本机视图封装