React相关问题

2020-03-14  本文已影响0人  iliuqiang

react组件中的constructor函数

[参考链接]https://segmentfault.com/a/1190000009921634

并不是每个组件都需要定义构造函数。后面会看到无状态React组件是不需要定义构造函数的。

React组件需要构造函数,是为了以下目的:

  1. 初始化state,因为生命周期中任何函数都有可能访问state,构造函数是初始化state的理想场所;
  2. 绑定成员函数的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);
    }
}
上一篇下一篇

猜你喜欢

热点阅读