Javascript 当AsyncSelect被另一个组件包装时,不会调用loadOptions
我有一个组件,它包装了react selectJavascript 当AsyncSelect被另一个组件包装时,不会调用loadOptions,javascript,reactjs,react-select,loadoptions,Javascript,Reactjs,React Select,Loadoptions,我有一个组件,它包装了react selectAsyncSelect组件: <Wrapper id={id} values={values} loadOptions={this.loadOptions} /> 但是,loadOptions根本没有被调用。如果我去掉包装器组件,直接在父组件中使用AsyncSelect,那么一切都会按预期工作 我在这里遗漏了什么?如果你明确给出它,它是否有效loadOptions={this.props.loadOptions}?不。即使我
AsyncSelect
组件:
<Wrapper
id={id}
values={values}
loadOptions={this.loadOptions}
/>
但是,loadOptions
根本没有被调用。如果我去掉包装器组件,直接在父组件中使用AsyncSelect
,那么一切都会按预期工作
我在这里遗漏了什么?如果你明确给出它,它是否有效
loadOptions={this.props.loadOptions}
?不。即使我将一个函数直接传递给AsyncSelect组件也不行:loadOptions={(inputValue,callback)=>{console.log('here!');callback()}}在返回wapper之前在render中请console.log(this.props.loadOptions)
查看它是否到达您的组件。尝试一下。它传递函数它听起来可能很愚蠢,但请尝试这样做loadOptions={()=>this.loadOptions()}
render() {
return (
<AsyncSelect
defaultValue={this.props.values}
placeholder={placeholder || "Select..."}
cacheOptions
defaultOptions
isMulti={true}
name={this.props.id}
{...this.props}
/>
);
}