【发布时间】:2021-09-20 15:23:11
【问题描述】:
我正在开发一个 react.js 应用程序,我正在使用 redux 状态管理。我创建了 2 个单选按钮,我正在它们之间切换并相应地设置状态变量。
这是我的活动按钮:
<form >
<input type="radio" id="html" name="status" value="HTML" onClick={this.setClientStatus("Active")}/>
<label for="html">Active</label><br/>
<input type="radio" id="css" name="status" value="CSS" onClick={this.setClientStatus("InActive")}/>
<label for="css">InActive</label><br/>
</form>
这是我的调度方法:
const mapDispatchToProps = dispatch => ({
setClientName: clientName=>dispatch(onSetClientName(clientName)),
setClientStatus:clientStatus=>dispatch(onSetClientStatus(clientStatus))
});
export default connect(mapStateToProps, mapDispatchToProps)(toReturn);
这是我改变状态的方法:
constructor(props) {
super(props);
this.setClientStatus=this.setClientStatus.bind(this);
}
setClientStatus(status)
{
this.props.setClientStatus(status)
}
action.js
export const SET_STATUS='CLIENT/SET_STATUS'
actionCreator.js
export function onSetClientStatus(clientStatus)
{
// console.log(clientStatus)
return {type:Actions.SET_STATUS,clientStatus}
}
clientReducer.js
const initialState = {
clientStatus:"",
};
case Actions.SET_STATUS:{
{
console.log(action.clientStatus)
return Object.assign({},state,{clientStatus:action.clientStatus})}
}
即使我尝试在 actionCreator 或 reducer 中记录状态,而无需单击单选按钮,只要应用程序的状态由于其他状态变量而发生变化,我就会看到状态值的切换。我仅在 @987654331 上调用 setClientStatus 方法@ 的单选按钮,但我不知道它们是如何记录应用程序中的每个状态变化的。
这是我完整的工作应用程序。使用npm start 运行,然后转到add a client,然后在单选按钮之间切换。
Github 仓库here
谢谢
【问题讨论】:
标签: javascript html reactjs redux react-redux