Javascript 将redux状态复制到组件状态是优化react应用程序的好方法?
当我需要更改应用程序状态时,我会将redux状态的一部分复制到组件状态,并像这样处理本地状态Javascript 将redux状态复制到组件状态是优化react应用程序的好方法?,javascript,reactjs,redux,Javascript,Reactjs,Redux,当我需要更改应用程序状态时,我会将redux状态的一部分复制到组件状态,并像这样处理本地状态 export class User extends React.Component { state = { user: this.props.user, }; render() { return ( <div> <input value={this.state.user.name} onC
export class User extends React.Component {
state = {
user: this.props.user,
};
render() {
return (
<div>
<input
value={this.state.user.name}
onChange={this.changeUserName}
/>
<button onClick={this.saveUser}>Save</button>
</div>
);
}
userNameChange = ({target}) => {
this.setState((prevState) => ({
user: {
...prevState.user,
name: target.value,
},
}));
}
saveUser = () => {
const {
userActions,
} = this.props;
const {
user,
} = this.state;
userActions.save(user);
}
}
const mapStateToUserProps = (state) => ({
user: state.user,
});
const mapDispatchToUserProps = (dispatch) => ({
userActions: bindActionCreators(UserActions, dispatch),
})
export const UserContainer = connect(mapStateToUserProps, mapDispatchToUserProps)(User);
导出类用户扩展React.Component{
状态={
用户:this.props.user,
};
render(){
返回(
拯救
);
}
userNameChange=({target})=>{
this.setState((prevState)=>({
用户:{
…prevState.user,
名称:target.value,
},
}));
}
saveUser=()=>{
常数{
用户操作,
}=这是道具;
常数{
用户,
}=本州;
userActions.save(用户);
}
}
常量mapStateToUserProps=(状态)=>({
用户:state.user,
});
const mapDispatchToUserProps=(调度)=>({
userActions:bindActionCreators(userActions,dispatch),
})
export const UserContainer=connect(mapStateToUserProps,mapsdispatchtouserprops)(用户);
这将阻止调用redux选择器。
这是优化应用程序的好方法,还是所有的更改都应该只对减速机进行?我相信没有太大的不同,因为最后你想保存/编辑数据,所以你需要在最后发送一个
请求
更重要的是创建一个请求较少的应用程序,如果你有大数据,你应该尽量在服务器端过滤你的数据
如果没有/更改某些局部变量,则应使用state,否则应使用redux存储
我希望这对您有所帮助。我的意思是,更改用户名将发送许多操作,而用户保存将发送一个操作。