在Material UI开关上发出请求

问题描述 投票:0回答:1

我正在构建一个开关,它从我从后端检索的值读取它的检查值,当用户切换它时,PUT请求被发送到后端以更新选择。

这就是我到目前为止,切换没有显示响应,我在这里缺少什么

class Test extends Component {
constructor(props) {
    super(props);
    this.state = {
        toggleValue: ''
    }
}

componentDidMount() {
        this.props.getToggleValue();
}

toggleValue = () => {
    if(this.props.value){
       return this.props.value.toggleValue
    }
}

handleChange(field) {
    return (event) => {
        this.setState({
            [field]: event.target.value,
        });
    }
}

render() {
    return (
        <>
         <Switch value={this.state.toggleValue} checked={this.toggleValue()} onChange={this.handleChange('toggleValue')} />
        </>
    )
}

const mapStateToProps = (state, ownProps) => {
    return {
      ...ownProps,
      value: state.testReducer.value
    };
  }

const mapDispatchToProps = (dispatch) => {
    return bindActionCreators({
        getToggleValue
    }, dispatch);
};
javascript reactjs redux material-ui
1个回答
0
投票

你必须检查event.target.checked而不是event.target.value

handleChange(field) {
    return (event) => {
        this.setState({
            [field]: event.target.checked,
        });
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.