在 react-select 中传递 "event"

Passing "event" in react-select

根据 react-select (https://github.com/JedWatson/react-select) 中的文档,有一个 属性 接受带有两个参数(值、事件)的函数。我需要获得 事件 。我是不是做错了什么?

代码:https://codesandbox.io/s/62wrx9pm1k

需要状态 当量

class App extends Component {
  state = {
    firstValue: "",
    secondValue: ""
  };
  handleChange = (value, state) => {
    this.setState({ [state]: value });
  };
  render() {
    return (
      <Select
        name="form-field-name"
        value={this.state.value}
        onChange={(value) => this.handleChange(value, "firstValue")}
        options={[
          { value: "one", label: "One" },
          { value: "two", label: "Two" }
        ]}
      />
      <Select
        name="form-field-name"
        value={this.state.value}
        onChange={(value) => this.handleChange(value, "secondValue")}
        options={[
          { value: "one", label: "One" },
          { value: "two", label: "Two" }
        ]}
      />
    );
  }
}

在2.0.11及以上的版本中,使用相同的功能为每个Select更新你的状态,你可以这样做:

class MyComponent extends Component{
 state={
  firstSelect: null,
  secondSelect: null
 }
 handleSelectChange = (selectedOption, { name }) => {
   this.setState({ [name]: selectedOption.value });
 }
 render() {
      return (
          <>
           <Select name="firstSelect" onChange={this.handleSelectChange} {...}/>
           <Select name="secondSelect" onChange={this.handleSelectChange} {...}/>
          </>
      )
 }
}