React-native 一些小知识

2017-11-23  本文已影响22人  uuuuuuw

1.再次调转页面修改相同的值,数据不刷新的nextProps

当props发生变化时执行,初始化render时不执行,在这个回调函数里面,你可以根据属性的变化,通过调用this.setState()来更新你的组件状态,旧的属性还是可以通过this.props来获取,这里调用更新状态是安全的,并不会触发额外的render调用

componentWillReceiveProps(nextProps){        

var {QrUrl}=nextProps;

this.setState({    QrUrl:QrUrl    });        

console.warn(QrUrl+"+======")    }

2:android手机运行的项目 想获取日志信息 使用ddms

3:view 使用了borderRadius 就不能使用borderbottomwidth android不会显示

allowFontScaling={false}防止字体变大

4:毛玻璃效果:毛玻璃效果blurRadius number

5:android 输入框高度很高且多行输入的的时候 想让输入从顶部开始textAlignVertical: "top"

6:键盘默认弹出 :autoFocus bool 。  如果为true,在componentDidMount后会获得焦点。默认值为false。

7:给view加阴影背景 shadowOffset:{width: 0, height: 2},

shadowColor: 'black',

shadowRadius: 2,

shadowOpacity: 0.14,

(ios上有效果 android5.1之前没有效果 5.1之后有效果)

使用这个组件react-native-shadow 可以带颜色的

8:model的弹窗 会影响到android 在android上面一直会报警告,

影响的点有:android的textinput键盘事件会有影响 需要关闭demo

onRequestClose = {this.closemodal}

closemodal = () => {

this.setState({ show: false})

}

9:textinput改变回车键可以给 done search

returnKeyType="search"

onSubmitEditing={this.onSubmitEditing}

10:android多行输入的时候 不能换行 ios正常 需要加入属性blurOnSubmit={false}

11:给View设置虚线:borderStyle:"dashed" 

12:ref以前的方式过时了使用这种:ref={view => this.modal3 = view}

13:android退出app

5.退出app(只适用于android)

引用

import Platform from "Platform";

import {BackAndroid} from "react-native";

if(Platform.OS ==='android') {   BackAndroid.exitApp(); }

上一篇 下一篇

猜你喜欢

热点阅读