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