При попытке выяснить оптимальный способ создать обработчики событий в Реагируют компоненты не сохраняющие состояние. Я мог сделать что-то вроде этого:
const myComponent = (props) => {
const myHandler = (e) => props.dispatch(something());
return (
<button onClick={myHandler}>Click Me</button>
);
}
Недостаток, здесь являющийся, которым каждый раз этот компонент представляется, новая функция "myHandler", создается. Существует ли лучший способ создать обработчики событий в компонентах не сохраняющих состояние, которые могут все еще получить доступ к свойствам компонента?
Как для компонента не сохраняющего состояние, просто добавьте функцию -
function addName(){
console.log("name is added")
}
, и это называют в возврате как onChange={addName}
Как насчет чего-то вроде этого:
let __memo = null;
const myHandler = props => {
if (!__memo) __memo = e => props.dispatch(something());
return __memo;
}
const myComponent = props => {
return (
<button onClick={myHandler(props)}>Click Me</button>
);
}
, но действительно это - излишество, если Вы не должны передавать onClick более низким/внутренним компонентам, как в примере.