如何从react js中的组件中取出道具数据?

ktecyv1j  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(341)

我正在使用react select开发react.js应用程序,我使用该应用程序创建了一个下拉菜单,单击菜单中的某个项目时,我希望将该项目传递给一个函数,该函数稍后连接到redux store。我如何从react select中使用的组件访问数据?
这是我的代码,可以给你更多的参考。

const Option = (props) => {
  return (
    <components.Option {...props} >
      <div>{props.data.api}</div>
      <div style={{ fontSize: 12 }}>{props.data.group}</div>
    </components.Option>
  );
};

上面的代码是我的 Option 组件,该组件在下面用于渲染 Select Menu .

return (
      <StyledForm id="form_container">
        <Grid>
          <Grid.Row>
            <Grid.Column width={3}>
              <input
                label="Client Name"
                value={this.props.clientName}
                onChange={this.setClientName}
              />
               <Select options={this.props.clientGrantList} components={{ Option }} onChange={()=>this.addApiGrants(//how to pass data)} />
            </Grid.Column>

这是我的ui组件,其中显示选择菜单。
在下面的行中 addApiGrants 我想传入选择选项数据的函数。我怎么做?

<Select options={this.props.clientGrantList} components={{ Option }} onChange={()=>this.addApiGrants(//how to pass data)} />

谢谢

lo8azlld

lo8azlld1#

这个 onChange 处理程序函数接收select对象作为参数。因此,在您的情况下,代码如下所示:

const options = [
  { value: "chocolate", label: "Chocolate" },
  { value: "strawberry", label: "Strawberry" },
  { value: "vanilla", label: "Vanilla" }
];

export default function App() {
  return (
    <div className="App">
      <Select options={options} onChange={item => addApiGrants(item)} />
    </div>
  );
}

这是如何选择的 item 从…起 onChange handler看起来像

{value: "strawberry", label: "Strawberry"}

相关问题