Я хочу вызвать функцию prop внутри UseEffect. Следующий код работает:
useEffect(() => {
props.handleClick(id);
}, [id]);
Но lint жалуется, что props
не является зависимостью.
Если я сделаю это, то код больше не будет работать, и у меня будет максимальная ошибка повторного рендеринга:
useEffect(() => {
props.handleClick(id);
}, [id, props]);
Как я могу исправить проблему с ворсом?
Пример кода:
Родительский компонент
const ParentGrid = ({rows, columns}) => {
const [selection, setSelection] = useState(null);
const handleClick = selectedRows => {
setSelection(selectedRows.map(i => rows[i]));
};
return (
<ChildGrid
columns={columns}
data={data}
handleClick={handleClick}
/>
Дочерний компонент
const ChildGrid = props => {
const {data, handleClick, ...rest} = props;
useEffect(() => {
handleClick(selectedRows);
}, [selectedRows]);