警告:失败的道具类型:提供给“ForwardRef(Slider)”的道具“值”无效

the*_*ist 7 javascript slider reactjs material-ui

我正在尝试创建一个 Material UI range Slider,它有两个值。如果我设置它就有效:

const [value, setValue] = React.useState([5,20]);
   const [value, setValue] = React.useState([val]);
   const handleChange = (event, newValue) => {
       setValue(newValue);
  };

  return (
    <div className={classes.root}>
      <Typography id="range-slider" gutterBottom>
        Temperature range
      </Typography>
      <Slider
        value={value}
        onChange={handleChange}
        valueLabelDisplay="auto"
        aria-labelledby="range-slider"
        getAriaValueText={valuetext}
      />
      <Input value={value} />
    </div>
  );
Run Code Online (Sandbox Code Playgroud)

但是,如果我设置一个值并将其分配给这样的 useState 常量,则它不起作用。即使有错误,我也不明白为什么:

var val = [5,20]
const [value, setValue] = React.useState([val])
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Warning: Failed prop type: Invalid prop `value` supplied to `ForwardRef(Slider)`.
    in ForwardRef(Slider) (created by WithStyles(ForwardRef(Slider)))

    in WithStyles(ForwardRef(Slider)) (at demo.js:32)

    in div (at demo.js:28)

    in RangeSlider (at index.js:6)
Run Code Online (Sandbox Code Playgroud)

滑块仍然会渲染,但上面只有 1 个点而不是 2 个点

Bad*_*der 10

您是否尝试过在将 val 传递给 useState 时删除 [] 括号。我得到的警告的含义是它需要一个数组,但是当传递 [val] 时它得到一个数组的数组。