将params传递给道具

时间:2016-11-04 12:03:32

标签: javascript reactjs react-select

我正在使用React Select,我想将url作为参数传递给loadOptions。所以,我会这样:

<Select.Async {...input} loadOptions={ getOptions(url) }/>

这是我的getOptions

const getOptions = ((input, callback) => {
  return fetch("http://reqres.in/api/users") // Get my url HERE
    .then((res) => {
      return res.json();
    }).then((json) => {
      return {options: json.data};
    });
});

反正有没有实现这个目标?提前谢谢。

解决方案:

最简单的解决方案如下:

<Select.Async {...input} loadOptions={ getOptions.bind(url) }/>

并将this代替getOptions

中的网址

希望这会有所帮助;)

1 个答案:

答案 0 :(得分:0)

如果网址已修复,请在组件中将其设为常量,并从loadOptions函数中访问该常量。

如果它是可变的,您应该将其存储在组件的状态中并通过相应的方式进行更新 setState(url, 'http://...')。在loadOptions中使用this.state.url访问它。 Hovever,这个用例似乎是你做错了什么。也许你可以更清楚地描述你的用例?

相关问题