Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
nuke-components
Advanced tools
View 是最基础的组件,它支持Flexbox、touch handling等功能,并且可以任意嵌套。
不论在什么容器中,View 都直接对应一个容器的原生视图,就像 web 中的 div 一样。
最简单的示例:
<View>
<Text>Hi<Text>
</View>
Text 用于显示文本,在 web 中实际上是一个 span 标签而非 p 标签。
Rx 的 Text 标签不支持嵌套,默认展现样式会沾满行。
Text 响应以下事件:
例:
<Text style={{
color: '#3c3c3c',
fontSize: '20rem'
}}> 文本内容 </Text>
Image 用于显示图片,它的属性有:
例:
render() {
return (
<Image source={{
uri: '//img.alicdn.com/image.png'
}} style={{
width: '100rem',
height: '100rem',
}}
resizeMode={'cover'} //也可以放在style里
/>
);
}
这里的 Image 组件只提供了基础的图片展示,更好的显示图片可以使用 UI 组件 http://rx.taobao.net/rxui/#image,支持图片的懒加载和质量压缩后缀等。
TextInput 是唤起用户输入的基础组件。
当定义 multiline 输入多行文字时其功能相当于 textarea。
它支持的属性有:
default
ascii-capable
numbers-and-punctuation
url
number-pad
phone-pad
name-phone-pad
email-address
decimal-pad
twitter
web-search
numeric
同时 TextInput 响应下面几个事件:
onBlur={() => console.log('失焦啦')}
使用示例:
<TextInput
placeholder="Enter text to see events"
autoFocus multiline
onFocus={() => console.log('onFocus')}
onBlur={() => console.log('onBlur')}
onInput={() => console.log('onInput')}
style={{
width: '1000rem',
height: '1000rem',
border: '1px solid #000'
}}
/>
ScrollView 是一个包装了滚动操作的组件。一般情况下需要一个确定的高度来保证 ScrollView 的正常展现。
它支持的属性有:
onEndReachedThreshold
的长度时触发(默认值为500)
使用示例:<ScrollView onEndReachedThreshold={300} onEndReached={()=>{}}>
<Text style={{
color:'#ffffff',
margin:'5rem',
fontSize:'100rem',
backgroundColor:"blue"
}}>
Shake or press menu button for dev menuShake or press menu button for dev menu
Shake or press menu button for dev menuShake or press menu button for dev menu
Shake or press menu button for dev menuShake or press menu button for dev menu
Shake or press menu button for dev menuShake or press menu button for dev menu
Shake or press menu button for dev menuShake or press menu button for dev menu
Shake or press menu button for dev menuShake or press menu button for dev menu
Shake or press menu button for dev menuShake or press menu button for dev menu
Shake or press menu button for dev menuShake or press menu button for dev menu
Shake or press menu button for dev menuShake or press menu button for dev menu
Shake or press menu button for dev menuShake or press menu button for dev menu
Shake or press menu button for dev menuShake or press menu button for dev menu
Shake or press menu button for dev menuShake or press menu button for dev menu
Shake or press menu button for dev menuShake or press menu button for dev menu
</Text>
</ScrollView>
ScrollView
的同门师兄,在Weex下是对list
与cell
的包装,其具有复用内部组件来提供性能的机制。
<RecyclerView>
<RecyclerView.Header>
<View style={styles.sticky}>
<Text>Sticky view must in header root</Text>
</View>
</RecyclerView.Header>
<RecyclerView.Cell />
<RecyclerView.Cell />
<RecyclerView.Cell />
</RecyclerView>
原先的rx-listview
Link 是基础的链接组件,同 a 标签。它带有默认样式 textDecoration: 'none'。
在浏览器中,同我们熟悉的 a 标签,使用 Link 标签并不能新开一个 webview ,它只是在当前的 webview 中做页面的跳转。
Link 响应以下事件:
使用示例:
<Link href={'//path/to/url'}>{'这是一个链接'}</Link>
Button 是基础的按钮组件。内部实现依赖 <TouchableHighlight>
支持 onPress 定义的点击事件。
Button 带有默认样式,同时也支持样式的自定义。
支持的属性:
使用示例:
<Button onPress={()=>{}}>Click Me</Button>
TouchableHighlight 定义简单的 touch 事件。 使用 TouchableHighlight 我们不用担心复杂的视图结构,也就是说我们不必再担心类似以前 tap 点击穿透这样的问题了。 对于复杂的手势事件,我们可以使用 @ali/rx-panresponder 。
支持的属性:
使用示例:
<TouchableHighlight onPress={()=>{}}>Click Me</TouchableHighlight>
Switch 是状态切换的开关按钮组件。
支持的属性:
使用示例:
state = {
trueSwitchIsOn: true,
falseSwitchIsOn: false
};
render() {
return (
<View style={styles.container}>
<Text>
Swtich实例
</Text>
<Switch onTintColor={'green'} tintColor={'#ffffff'} thumbTintColor={'blue'}
onValueChange={(value) =>this.setState({falseSwitchIsOn: value})}
value={this.state.falseSwitchIsOn}/>
<Switch
onValueChange={(value) =>this.setState({trueSwitchIsOn: value})}
value={this.state.trueSwitchIsOn}/>
</View>
);
}
Rx 中的视频播放组件。
支持的属性:
使用示例:
<Video autoPlay src="//path/to/url" />
FAQs
nuke原件库
The npm package nuke-components receives a total of 9 weekly downloads. As such, nuke-components popularity was classified as not popular.
We found that nuke-components demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.