javascript - React js中点击element1时如何执行对element2的点击?

标签 javascript reactjs

我有两个独立的元素(不是父子元素)。

是否可以完成这样的行为:在单击 StyledSearchInput 时实际上单击了 StyledDropDownInputAsync。

        <StyledSearchInput/>
        <StyledDropdownInputAsync searchIcon
          className="options"
          placeholder="Search"
          loadOptions={loadOptions}
          onChange={this.handleSelection}
          cache={{}}
          filterOptions={(options) => (options)}>
        </StyledDropdownInputAsync>

最佳答案

将它们包装在父组件中,定义点击状态,将点击状态传递给 StyledDropdownInputAsync,将点击操作传递给 StyledSearchInput

const ParentComp = () => {
  const [isClicked, setClick] = useState(false);
  return (
    <>
      <StyledSearchInput onClick={() => setClick(true)}/>
      <StyledDropdownInputAsync isClicked={isClicked} {...otherProps}>
      </StyledDropdownInputAsync>
    </>
  );
};

这称为 Lifting State Up在 ReactJS 中。

关于javascript - React js中点击element1时如何执行对element2的点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59350698/

相关文章:

javascript - 在magento主页上显示多类别产品

Javascript Worker 丢失属性

javascript - AngularJs 和 Codeigniter 路由导致无限重定向循环

javascript - Phaser 没有显示任何内容

ios - 如何在PWA中的ios中访问摄像头和耳机( react )

css - JEST 一直尝试解析 css 模块,即使我有模拟文件和 identity-obj-proxy

javascript - 仅当唯一时使用 knex 插入

javascript - 如何将 SVG 导入 Next.js 组件?

reactjs - React Hook "useState"在函数 "app"中调用,该函数既不是 React 函数组件,也不是自定义 React Hook 函数

reactjs - react 这是未定义的