检查其他功能是否在起作用

时间:2019-04-14 14:13:01

标签: javascript reactjs function react-native recursion

我使用反应选择来过滤应用程序中的标签。 因此,每当用户输入标签时,它将根据用户输入的标签生成关键字。

让我们说我的标签是这样的:

enter image description here

因此,它将使用cat and fish关键字生成。

在我使用 react-select 的选择域中,标签将自动添加到我的选择域中,如下所示:

enter image description here

这已经在我的应用程序中完成了。

我现在想要的是,过滤用户使用selectfield输入的标签,因此,每当用户选择cat时,它只会显示cat关键字。

上面的标签是通过此函数生成的,这只是我的代码的片段:

onSubmit = tags => {
  if(tags.length === 0) {
    userError('Please input at least one keyword');
  } else {
    tags.forEach((tag) => {
      const marketplace = selectedCountry.value;
      apiCallRequest(marketplace, tag.value, this.userIP);
      if (this.handleChange()){  // call handleChange function here
        apiCallRequest(marketplace, tag.value=this.state.selectedOption, this.userIP);
        alert('hello from here :)')
        return onsubmit
      }
    });
  }
}

以上功能的目的是根据用户输入的标签生成关键字。

我的反应选择代码类似于Installation and usage,这只是来自文档的示例代码:

handleChange = (selectedOption) => {
    this.setState({ selectedOption });
    console.log(`Option selected:`, selectedOption);
  }

还有handleChange() onChange 呼叫。

因此,在这种情况下,每当用户选择选择字段之一时,它将调用handleChange()函数。

因此,我想要的是每当调用函数时,我希望onSubmit函数也能自动进行更改。

那么,这样做是可能的吗? 我希望我的问题现在可以清除,如果没有,我将再次编辑它:)

1 个答案:

答案 0 :(得分:1)

在浏览器(和大多数其他JavaScript主机环境)上,每个领域(全局环境和关联的固有对象等,例如与浏览器窗口关联的JavaScript环境)只有一个线程。 。假设handleChangeonSubmit在同一领域(我敢肯定它们在同一个领域),如果您的onSubmit函数正在运行,则您知道handleChange函数不在正在运行,因为handleChange不会调用onSubmit。当handleChange处于“活动”状态时,onSubmit可能是“活动”的唯一方法是将handleChange称为onSubmit