Size: a a a

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

2021 February 08

О

Олег in React — русскоговорящее сообщество
почитал про act. и по идее он нужен для того чтобы useEffect успевал отработать. Но почему-то оно не работает. не пойму
источник

В

Вадим in React — русскоговорящее сообщество
Кирилл
Здесь не нужен useCallback
предлагаете при каждой перерисовке вызывать апи?
источник

RU

Roman Usherenko in React — русскоговорящее сообщество
Олег
почитал про act. и по идее он нужен для того чтобы useEffect успевал отработать. Но почему-то оно не работает. не пойму
тебе не надо "ждать пока отработает", делай ассерты по тому, что происходит на экране

что у тебя в useEffect?
источник

О

Олег in React — русскоговорящее сообщество
Roman Usherenko
тебе не надо "ждать пока отработает", делай ассерты по тому, что происходит на экране

что у тебя в useEffect?
вызов санки
источник

К

Кирилл in React — русскоговорящее сообщество
Вадим
предлагаете при каждой перерисовке вызывать апи?
путаешь с useEffect
источник

RU

Roman Usherenko in React — русскоговорящее сообщество
Олег
почитал про act. и по идее он нужен для того чтобы useEffect успевал отработать. Но почему-то оно не работает. не пойму
и последнюю строку замени на expect(await screen.findByText('text')).toBeTruthy()
источник

RU

Roman Usherenko in React — русскоговорящее сообщество
Олег
вызов санки
что изменяется на экране от результата работы санки?
источник

О

Олег in React — русскоговорящее сообщество
Roman Usherenko
что изменяется на экране от результата работы санки?
появляется кнопка Save
источник

О

Олег in React — русскоговорящее сообщество
Roman Usherenko
что изменяется на экране от результата работы санки?
кнопка не появляется короче
источник

RU

Roman Usherenko in React — русскоговорящее сообщество
Олег
появляется кнопка Save
renderWithProvider(<SettingsDashboard />)

fireEvent.click(await screen.findByText('Save'))

expect(await screen.findByText('text')).toBeTruthy()
источник

О

Олег in React — русскоговорящее сообщество
Roman Usherenko
renderWithProvider(<SettingsDashboard />)

fireEvent.click(await screen.findByText('Save'))

expect(await screen.findByText('text')).toBeTruthy()
в этом случае кнопки save не будет
источник

RU

Roman Usherenko in React — русскоговорящее сообщество
тебе почти никогда не нужно руками вызывать waitFor
источник

В

Вадим in React — русскоговорящее сообщество
Кирилл
путаешь с useEffect
да не вызов а создание clickHandler
источник

RU

Roman Usherenko in React — русскоговорящее сообщество
Олег
в этом случае кнопки save не будет
будет. findBy* ждет некоторое время
источник

К

Кирилл in React — русскоговорящее сообщество
Вадим
да не вызов а создание clickHandler
так ты на каждый rerender вызываешь useCallback и создаешь новую ссылку
источник

В

Вадим in React — русскоговорящее сообщество
Кирилл
путаешь с useEffect
я написал что код синтетический - в реальности clickHandler зависит от других переменных и чтобы избежать его пересоздания при перерисовках использцется useCallback с зависимостями
источник

О

Олег in React — русскоговорящее сообщество
Roman Usherenko
renderWithProvider(<SettingsDashboard />)

fireEvent.click(await screen.findByText('Save'))

expect(await screen.findByText('text')).toBeTruthy()
странно но всё равно ругается что нет Save
источник

К

Кирилл in React — русскоговорящее сообщество
Вадим
я написал что код синтетический - в реальности clickHandler зависит от других переменных и чтобы избежать его пересоздания при перерисовках использцется useCallback с зависимостями
прочитай про useCallback в общем, ты не прав
источник

В

Вадим in React — русскоговорящее сообщество
Кирилл
прочитай про useCallback в общем, ты не прав
в чем я ошибаюсь?
источник

RU

Roman Usherenko in React — русскоговорящее сообщество
Олег
странно но всё равно ругается что нет Save
ты нетворк мокаешь? внутри санки, если там делается реальный реквест на бек, то он может не успевать завершиться
источник