React Native
JSX
JSX就是Javascript和XML结合的一种格式。React发明了JSX,利用HTML语法来创建虚拟DOM。当遇到<,JSX就当HTML解析,遇到{就当JavaScript解析
render 渲染内容的描述
通过Props传递数据 ,是一种从父级向子级传递数据的方法
给组件添加交互功能
构造器方法constructor
props和state的区别
添加反向数据流
1
注意:React元素都是immutable不可变的
ReactDOM管理节点内容
将元素渲染到 DOM 中:ReactDOM.render(element,节点)
更新元素渲染: 可以用定时器更新或者有态组件更新
2
组件可以将UI切分成一些独立的、可复用的部件
定义组件:
function Welcome(props) {
return
Hello, {props.name}
;}
或者
class Welcome extends React.Component {
render() {
return
Hello, {this.props.name}
;}
}
组件渲染:
生命周期钩子:
state使用
正确使用:setState()
this.setState({comment:‘Hello’});
状态更新可能是异步的,不能依靠this.props和this.state的值来计算下一个状态.
有状态组件和无状态组件
事件处理
onClick={} 表示事件的函数
<button onClick={activateLasers}> Activate Lasers </button>
不能使用返回的false方式阻止默认行为,用preventDefault
事件的监听不需要addEventListener,只需要这个元素初始渲染的时候提供一个监听器
构造器初始化bind
this.handleClick = this.handleClick.bind(this);
属性初始化器绑定回调函数:
handleClick = () => { console.log('this is:', this); }
性能问题:这个回调函数作为一个属性值传入低阶组件,这些组件可能会进行额外的重新渲染
建议在构造函数中绑定或使用属性初始化器语法来避免这类性能问题。
条件渲染
与预算符&&
在 JavaScript 中,true && expression 总是返回 expression,而 false && expression 总是返回 false
阻止组件渲染
列表&Keys
在定义key时,不建议使用索引来用作键值,因为这样做会导致性能的负面影响,还可能引起组件状态问题
用keys提取组件.
1.定义组件类
class 组件类名称 extends React.Component{
constructor(){
}
}
定义组件
function 组件1(){
return (
);
}
渲染
ReactDOM.render(component,id);
开发工具:
组件:
Board,
- 基于AVPlayer的播放器,用swift4封装的支持react-native,适配PhoneX
- React-Native中一些组件的用法(一)
- react-native WebView 返回处理 (非回调方法可解决)
- react-native 常用功能库几 4000 个人总结比较好的网站
- Windows下React-Native如何调试和运行iOS
- react-native--Navigator
- React Native 教程——集成到现有原生应用
- 现有Android项目引入ReactNative
- react native里获取设备屏幕宽高
- React-Native新版本RCTEventEmitter的使用(从原生发送消息到JS)
- 安卓无线调试 react-native
- Native项目迁入React-Native过程中遇到的坑(0.4x版本)
- react-native-splash-screen
- React Native开发学习记录2(我的开发环境是ubuntu)
- React/React Native 的ES5 ES6写法对照
- ReactNative 样式布局小结
- React Native 图片查看组件的方法
- React-Native系列Android——Native与Javascript通信原理(二)
- react native listview 实现下拉刷新(RefreshControl)
- RN(react native)入坑指南-07,使用navigator实现页面跳转