react中state和props 遇到的问题

在React中希望使用一个组件获得props的属性,并遍历在li中

错误代码:


报错信息: data为undefine


改正后的代码: 直接在render里获取props数据


class InputList extends React.Component {
constructor(props, context) {
super(props, context);
}
render() {
const data = this.props.todos;
return (
<div>
<ul >
{
data.map(function(item, i) {
return <li key={i}>{item.text}</li>;
})
}
</ul>
</div>
)
}
addLi() {
}
}

export default InputList

从这大致可以看出问题应该在constructor和props获得的时间顺序


可以看到getInitialState()在getDefaultProps()之前,所以 state初始化时并不能获得props

若想要绑定state可以通过setState()方法后续进行修改


另外多写无状态组件,即纯展示组件,只负责根据传入的props来展示,不涉及到要state状态的操作,在大部分React代码中,大多数组件应是无状态组件

阅读更多

没有更多推荐了,返回首页