组件的拆分(UI组件与容器组件)及无状态组件

UI组件:专门做渲染 TODOLISTUI
容器组件:处理逻辑 原先的未分离的那个文件

创建UI组件:
在src下创建TodolistUI.js
1、把所有UI相关代码移过去 注意引入 和输出export default
2、在之前的组件(父)中render()中的return中
传给UI组件逻辑函数
子组件中逻辑函数那块state改成props或者增加props

<TodoListUI
	inputvalue={this.state.inputValue}
	handleInputChange={this.handleInputChange}
	/>
//在UI组件文件中:原先input中的函数改成
onChange={this.props.handleInputChange}
	
//之前函数中如this.handleItemDelete.bind(this,index)
//要在父组件中constructor下重新绑定 然后在return中传给子组件 同上
onclick={(index) =>{this.props.handleItemDelete(index)}}


组件中只有render函数时可以被变成无状态组件
(性能高)
一般是UI组件

const TodoListUI =(props) => {
return (
…………原return的代码)}

Redux中发送异步请求获取数据
1、写请求函数
2、在store的actionCreators中加入action
3、写reducer的if

//挂载到页面后执行
componentDidMount(){//.then若成功返回回调函数
	axios.get('/list.json').then((res) => {
	const data =res.data;
	const action = initListAction( data );
	store.dispatch(action);
	})
//.catch失败时
}

actionCreators.js中
export const initListAction =(data) => ({
type:INIT_LIST_ACTION,//注意定义和引入
data
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值