我正在使用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
希望这会有所帮助;)
答案 0 :(得分:0)
如果网址已修复,请在组件中将其设为常量,并从loadOptions函数中访问该常量。
如果它是可变的,您应该将其存储在组件的状态中并通过相应的方式进行更新
setState(url, 'http://...')
。在loadOptions中使用this.state.url
访问它。 Hovever,这个用例似乎是你做错了什么。也许你可以更清楚地描述你的用例?