react-key

2017-07-31  本文已影响99人  mengxr

key辅助react调和过程


测试(存在key,不存在key,状态更改渲染区别)

{

    this.state.list.map((item, index) => {

        return <Button
                size='long'
                btnType='primary'
                isRadius={false}
                style={{width:'100%'}}
            >{item}</Button>

    })

}
export default class Button extends React.Component {

    constructor (props) {
        // debugger;
        super (props);
    }

    clickhandle(e){
        this.props.onClick(e.target);
    }

    componentWillMount () {

        console.log('lm at componentWillMount')
    }

    componentWillReceiveProps () {

        console.log('lm at componentWillReceiveProps')

    }

    componentWillUnmount () {

        console.log('lm at componentWillUnmount')

    }
       ...
'lm at componentWillReceiveProps'
image.png
{

    this.state.list.map((item, index) => {

        return <Button
                key={index}
                size='long'
                btnType='primary'
                isRadius={false}
                style={{width:'100%'}}
            >{item}</Button>


    })

}
{

    this.state.list.map((item, index) => {

        return <Button
                key={item}
                size='long'
                btnType='primary'
                isRadius={false}
                style={{width:'100%'}}
            >{item}</Button>


    })

}
image.png image.png

以上基本涵盖的大部分key的使用方式,和隐式key是什么值,所以在map时增加key时不要用index,最好为unique值

上一篇 下一篇

猜你喜欢

热点阅读