props? И можно ли обойтись без состояния?
из названия думаю будет вызываться только на маунт и не будет вызываться на изменение props. Текущий код у тебя не вызовет дестрой, так как controller в колбеке всегда будет null У меня к тебе встречный вопрос, зачем нужен useEffectOnce когда есть useEffect с deps [], тем более судя потому что ты новичок, кажется не лучшая идея юзать какие-то библиотеки не разобравшить с обычным useEffect Второй код выглядит лучше, только тебе в useMemo не нужен этот if
Думаю, если сделать useEffect с deps [controller], то будет рекурсия, так как внутри useEffect устанавливается новое значение controller
Разве первый вызов useMemo не подразумевает, что controller не имеет значения?
ну тебе надо понять когда ты хочешь вызывать render() если один раз за маунт, то второй вариант твой норм без лишнего if в useMemo и с deps [controller]
ну да, так зачем ты тогда пытаешься его задестроить в useMemo, раз его еще нет) правильней дестроить в эффекте
Как раз наоборот, не дестроится, если нету
ладно, спорить не буду)
Библу я сам написал🗿, так что знаю, что render нужно вызывать при любом изменении props, а destroy при изменении props.name и анмоунт
ну да, я это понял, но тебе не нужен тогда if в useMemo все равно и вместо deps [props] тебе нужен react.memo и прям в компоненте вычислять в рендере без хука ну а для [props.name] создай еще один эффект просто и там дестрой
Обсуждают сегодня