您的位置:首页 > Web前端 > React

React中Redux通过action对stroe进行修改

2020-08-05 14:04 876 查看

一、目录结构

src|
store|
index.js
reducer.js
Home.js

二、Home.js中:

constructor(props){
super(props);

this.state = store.getState();

store.subscribe(this.changeStateStr.bind(this))
//监听是否有action提交,若有则触发括号中的函数
}
render () {
return (
<div>
<h1>数据:{this.state.str}</h1>
<button
onClick={this.changeStr.bind(this)}
>——————修改数据——————</button>
<button onClick={this.toNews.bind(this)}>新闻</button>
</div>
)
}
changeStr(){
let action ={
type:"change_str"
//提交说明,用于reducer.js中的switch来区分action
}
store.dispatch(action);
//提交action
}
changeStateStr(){
this.setState(store.getState())
//将this.state与store中的数据同步
}

三、reducer.js中

let dataState = {
str:"==这是仓库中的数据=="
}
export default (state=dataState,action)=>{
let newState = state;
switch(action.type){
case "change_str":
//当action.type为change_str
newState.str=11111;
return newState;
break;
default:
return state;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: