项目已上传至git仓库,src/component
遇到的问题:
- list数据保存在主页面的state中,其余组件中不再使用state进行数据的更改
- 单向数据流,基本不考虑子组件=>父组件多级传递的情况
- 在我的代码中,总共有三级,总页面=>新增事件组件/总列表组件=>总列表组件是由多个事件组件构成的
- 当我删除单个的事件组件时,需要获取到每一个的id值,本能的想到从子组件传给中层组件再传给父组件,但是考虑到数据的单向传递以及并没有使用redux等工具,所以将删除方法写在总页面中,在子组件中进行调用传参即可。
- 子父组件的传值
- 子传父:
将子组件挂载在父组件上,在此标签中添加一个自定义对象如
newlist={this.addlist}
进行接收,this.addlist为父组件中的函数,子组件中通过this.props.newlist={value}
来传递value值,this.addlist(data)
中的data
就是传递过来的value值。
- 父传子:
在子组件标签上绑定数据
<Child todolist={this.state.list}/>
子组件中this.props
即为父组件中的todolist值
回到第一个问题,父组件中管理的state,在子组件中调用,又不能重新保存一套,则直接在render()中,const { todolist } = this.props;
=>todolist就是this.state.list