React相关问题
2020-03-14 本文已影响0人
iliuqiang
react组件中的constructor函数
[参考链接]https://segmentfault.com/a/1190000009921634
并不是每个组件都需要定义构造函数。后面会看到无状态React组件是不需要定义构造函数的。
React组件需要构造函数,是为了以下目的:
- 初始化state,因为生命周期中任何函数都有可能访问state,构造函数是初始化state的理想场所;
- 绑定成员函数的this环境。
react中定义组件有3种方式
分别是:React.createClass,class和Stateless Function Component。
比如定义 App Component
function App(props){
function handleClick(){
props.dispatch({type:'app/create'});
}
return <div onClick={handleClick}>${props.name}</div>
}
等同于:
class App extends React.Component{
handleClick(){
this.props.dispatch({type:'app/create'});
}
render(){
return <div onClick={this.handleClick.bind(this)}>${this.props.name}</div>
}
}
react组件中为何要添加key
React 是使用 key 属性来标志列表中的所有元素,当列表数据发生变化时,React 通过 key 可以更快的知道哪些元素发生了变化,从而只重新渲染发生变化的元素,提高效率和性能。在列表里面 key 需要唯一,一般是使用 id 作为 key 值,不建议使用 index 作为 key 值。因为如果列表发生了删除,插入等操作,列表要重排。index 值会改变,可能会影响渲染的效率和性能。
在一个antd组件里面要怎么往onChange方法里传两个参数?
onChange={(...arg)=> {
this.onChange(...arg, new);
}
}