Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 将函数传递给子组件_Reactjs - Fatal编程技术网

Reactjs 将函数传递给子组件

Reactjs 将函数传递给子组件,reactjs,Reactjs,当我传递一个通过click事件执行的函数时,它会执行两次 我已经检查过了,当从子对象单击时,我无法执行event.preventDefault(),因为它不是作为参数到达的 如何传递函数,使其只运行一次 父组件 我从父级传递的函数是handleClickSelectPrice export const FilterForm = ({ display }) => { const { priceFilters } = useSelector(selectSearchFilters);

当我传递一个通过click事件执行的函数时,它会执行两次

我已经检查过了,当从子对象单击时,我无法执行event.preventDefault(),因为它不是作为参数到达的

如何传递函数,使其只运行一次

父组件
我从父级传递的函数是
handleClickSelectPrice

export const FilterForm = ({ display }) => {
  const { priceFilters } = useSelector(selectSearchFilters);
  const dispatch = useDispatch();

  const handleClickSelectPrice = (priceFilter) => {
    priceFilter.isActivated
      ? dispatch(desactivatePriceFilter({ priceFilter: priceFilter.textKey }))
      : dispatch(activatePriceFilter({ priceFilter: priceFilter.textKey }));
  };

  return (
    <>
      <div>
        <Input name='nombre' icon={<MdSearch />} />

        <Select
          options={priceFilters}
          defaultLabel='Ordenar por precio'
          fullWidth
          setOptionSelected={handleClickSelectPrice}
        />
      </div>
    </>
  );
};

请检查您的index.js,您可能需要从那里删除严格模式

  ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
);
ReactDOM.render(
,
document.getElementById('root'))
);
试着把它改成

 ReactDOM.render(
        <App />,
      document.getElementById('root')
    );
ReactDOM.render(
,
document.getElementById('root'))
);
 ReactDOM.render(
        <App />,
      document.getElementById('root')
    );