gpt4 book ai didi

javascript - 如何在按钮中触发 mapDispatchToProps 操作?

转载 作者:行者123 更新时间:2023-11-30 20:57:38 26 4
gpt4 key购买 nike

我对 mapDispatchToProps 有疑问。如何使用按钮中的 onClick 从 mapDispatchToProps “触发”操作? - 登录表单.js。我知道,我还有很多东西要学 :D

class LoginForm extends Component{
render()
{
const {changeStatusLogin} = this;
return(
<StyledContainer>
<StyledTitle>Logowanie</StyledTitle>
<StyledForm className="form" role="form" method="post" action="login" id="login-nav">
<div className="form-group">
<label className="sr-only" htmlFor="exampleInputUsername2">Login</label>
<input className="form-control" id="exampleInputEmail2" style={{textAlign: "center"}} placeholder="Login" required/>
</div>
<div className="form-group">
<label className="sr-only" htmlFor="exampleInputPassword2">Haslo</label>
<input type="password" className="form-control" id="exampleInputPassword2" style={{textAlign: "center"}} placeholder="Password" required/>
</div>
<Button type="submit" className="btn btn-success" onClick={changeStatusLogin}>Zaloguj</Button>
</StyledForm>
</StyledContainer>
)
}
}
const mapStateToProps = (state) => {return {
showLogin: state.showLogin}}

const mapDispatchToProps = (dispatch) => {return {
onChangeStatus: () => dispatch(loginAction.setTrue())}}

export default connect(mapStateToProps,mapDispatchToProps(LoginForm);

最佳答案

当您使用 connect 时,“已连接”组件将接收调度函数作为 props。

您可以使用您在 mapDispatchToProps 中给它们的相同名称访问 Prop 。

const mapDispatchToProps = (dispatch) => {
return {
onChangeStatus: () => dispatch(loginAction.setTrue())
}
}

在你的组件中,像这样使用它:

onChange(e){
e.preventDefault()
//no need to pass anything to this function
this.props.onChangeStatus()
}

render(){
return <button onClick={this.onChange.bind(this)} />
}

关于javascript - 如何在按钮中触发 mapDispatchToProps 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47491756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com