Size: a a a

React — русскоговорящее сообщество

2020 September 29

ei

export default - зло... in React — русскоговорящее сообщество
Vetro
так вынеси из useCallback тогда

создавай на каждом рендере просто
Неее, тогда придется свою функцию мемоизации писать
источник

ei

export default - зло... in React — русскоговорящее сообщество
Эх, придется самому тот хук написать
источник

V

Vetro in React — русскоговорящее сообщество
export default - зло is the side effect
Неее, тогда придется свою функцию мемоизации писать
так основываясь на чем ты будешь мемоизировать? Если ты в useCallback заворачиваешь без зависимостей..?
источник

ei

export default - зло... in React — русскоговорящее сообщество
Vetro
так основываясь на чем ты будешь мемоизировать? Если ты в useCallback заворачиваешь без зависимостей..?
Я мемоизирую компонент в котором еще куча пропсов помимо этого колбека
источник

ei

export default - зло... in React — русскоговорящее сообщество
Или о чем ты вообще)
источник

V

Vova in React — русскоговорящее сообщество
Как в useSWR указать тип comments? (typescript)
источник

V

Vetro in React — русскоговорящее сообщество
export default - зло is the side effect
Или о чем ты вообще)
у тебя в любом случае при useCallback(x) будет при каждом рендере пересоздаваться коллбек

ты ничего не мемоизируешь
источник

DV

Danil Vilz in React — русскоговорящее сообщество
в useSwr укажии тип, что возвращает функция
источник

V

Vova in React — русскоговорящее сообщество
Danil Vilz
в useSwr укажии тип, что возвращает функция
Вот она. В импорте можно указать?)
источник

ei

export default - зло... in React — русскоговорящее сообщество
Vetro
у тебя в любом случае при useCallback(x) будет при каждом рендере пересоздаваться коллбек

ты ничего не мемоизируешь
В том-то и суть что я хочу мемоизировать колбек чтобы он никогда не пересоздавался) Ну что сложного?
источник

ei

export default - зло... in React — русскоговорящее сообщество
Ну вот, как-то так, вроде ничего не забыл

function useActualCallback(fn) {
 const ref = useRef(null)

 ref.current = fn

 const memoizedCallback = useCallback((...args) => {
   ref.current(...args)
 }, [])

 return memoizedCallback
}
источник

V

Vlad in React — русскоговорящее сообщество
export default - зло is the side effect
Ну вот, как-то так, вроде ничего не забыл

function useActualCallback(fn) {
 const ref = useRef(null)

 ref.current = fn

 const memoizedCallback = useCallback((...args) => {
   ref.current(...args)
 }, [])

 return memoizedCallback
}
а чем useCallback(, []) не устроил?
источник

EL

Egor Lem in React — русскоговорящее сообщество
Как обработать несуществующие вложенные роуты(...второй - третий уровень) в react router?
источник

ei

export default - зло... in React — русскоговорящее сообщество
Vlad
а чем useCallback(, []) не устроил?
Тем что там все из замыкания берется например)
источник

V

Vetro in React — русскоговорящее сообщество
export default - зло is the side effect
Оно еще на каждый рендер обновляет внутри колбек, чтобы в замыкании содержимое не застряло
>чтобы он никогда не пересоздавался

а то что каждый рендер коллбек внутри обновляется это не пересоздание?
источник

ei

export default - зло... in React — русскоговорящее сообщество
Vetro
>чтобы он никогда не пересоздавался

а то что каждый рендер коллбек внутри обновляется это не пересоздание?
Нет, ссылка старая у внешнего колбека
источник

DV

Danil Vilz in React — русскоговорящее сообщество
Vova
Вот она. В импорте можно указать?)
const useSWR = (url: string): {} => {}
источник

AE

Alexey Elizarov in React — русскоговорящее сообщество
export default - зло is the side effect
Нет, ссылка старая у внешнего колбека
А для какой цели тебе этот хук понадобился?
источник

V

Vetro in React — русскоговорящее сообщество
export default - зло is the side effect
Нет, ссылка старая у внешнего колбека
Ну fn то каждый раз пересоздается который ты в этот хук пихаешь
источник

ei

export default - зло... in React — русскоговорящее сообщество
Vetro
Ну fn то каждый раз пересоздается который ты в этот хук пихаешь
и?
источник