首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在初始渲染时不要使用loadOptions

在初始渲染时不要使用loadOptions
EN

Stack Overflow用户
提问于 2018-04-03 02:35:11
回答 2查看 568关注 0票数 0

我的页面上有大量的select,我不想在每次加载页面时对所有这些调用发出API调用。当异步loadOptions组件初始化时,如何跳过react-select

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-03 02:38:52

根据文档,您似乎可以指定autoload={false}。来自文档

除非您指定属性autoload={false},否则该控件将在挂载时自动加载默认选项集(即输入:'')。

更新:

为了解决必须键入某些内容的问题,可以添加一个onFocus回调。这将触发时,反应-选择组件被点击或标签,而不是等待用户键入的东西。它看起来可能是这样的:

代码语言:javascript
复制
<ReactSelect
  ...otherProps
  onFocus = { this.fetchData }
/>

为了防止不断地重取数据,您可能需要跟踪数据是否已被取到某个状态。您可以将初始状态声明为fetched: false,然后在加载选项的函数中设置this.setState({ fetched: true })。最后,fetchData函数可以在请求新数据之前检查this.state.fetched

票数 1
EN

Stack Overflow用户

发布于 2018-04-03 02:54:28

代码语言:javascript
复制
state= {option1:'', option2:'', option3:''}

如果选项1已填写,则选择#2的值。

this.state.option1 && apicall for option 2().

如果选项2已填写,则选择#3的值。

this.state.option2 && apicall for option 3().

所有这些都可以在componentDidMount()中实现

这是假设当用户选择要在状态中存储该值的值时。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49621379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档