Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将材质ui ToggleButtonGroup连接到redux表单_Javascript_Reactjs_Material Ui_Redux Form_Togglebutton - Fatal编程技术网

Javascript 将材质ui ToggleButtonGroup连接到redux表单

Javascript 将材质ui ToggleButtonGroup连接到redux表单,javascript,reactjs,material-ui,redux-form,togglebutton,Javascript,Reactjs,Material Ui,Redux Form,Togglebutton,我正在尝试将材质ui与redux表单连接起来,并由此产生问题。 这是我的密码: <Field name='operator' component={FormToggleButtonGroup} > <ToggleButton value='equals'>Equal</ToggleButton> <ToggleButton value='not_equals'>Not equal</ToggleButton> </

我正在尝试将材质ui与redux表单连接起来,并由此产生问题。 这是我的密码:

<Field
  name='operator'
  component={FormToggleButtonGroup}
>
  <ToggleButton value='equals'>Equal</ToggleButton>
  <ToggleButton value='not_equals'>Not equal</ToggleButton>
</Field>

相等的
不相上下
。。和我的组件,传递到字段:


const FormToggleButtonGroup = (props) => {
  const {
    input,
    meta,
    children
  } = props;

  return (
    <ToggleButtonGroup
      {...input}
      touched={meta.touched.toString()}
    >
      {children}
    </ToggleButtonGroup>
  );
};

export default FormToggleButtonGroup;

常量FormToggleButtongGroup=(道具)=>{
常数{
输入,
元,
儿童
}=道具;
返回(
{儿童}
);
};
导出默认FormToggleButtongGroup;
问题是,当我选择值(切换选项)时,所选值不会传递到redux存储,它仅在失去焦点后传递,然后抛出错误“newValue.splice不是函数” 请帮助处理这个问题


我终于找到了解决方案。 我需要手动分配从ToggleButtonGroup组件获得的新值,并将该值放入redux存储。以下是工作代码的外观:

const FormToggleButtonGroup = (props) => {
  const {
    input,
    meta,
    children,
    ...custom
  } = props;

  const { value, onChange } = input;
  return (
    <ToggleButtonGroup
      {...custom}
      value={value}
      onChange={(_, newValue) => {
        onChange(newValue);
      }}
      touched={meta.touched.toString()}
    >
      {children}
    </ToggleButtonGroup>
  );
};
const FormToggleButtonGroup=(props)=>{
常数{
输入,
元,
儿童
…习俗
}=道具;
const{value,onChange}=输入;
返回(
{
onChange(newValue);
}}
toucted={meta.toucted.toString()}
>
{儿童}
);
};
主要的变化是获得redux的onChange函数,并使用新值调用它,该值在切换值时被选中。有一个onChange与ToggleButtonGroup组件相关,另一个onChange与Redux相关。当ToggleButtonGroup的onChange发生时,需要调用后者