React - получение и печать данных из Firebase - PullRequest
0 голосов
/ 27 февраля 2020

Я новичок в React, и я пытаюсь понять, как все работает .. Я пытаюсь экспериментировать с базой данных Firebase, и я не понимаю поведение.

Вот CodeSandBox: https://codesandbox.io/s/react-and-firebase-d3elg

Во-первых, когда вы откроете страницу, вы увидите в консоли:

First ?undefined 
First ?undefined 
Second ?undefined 
Second ?undefined 

С неопределенным все в порядке, я вернусь к это позже, но почему это печатается дважды?

Тогда, если вы раскомментируете строку 24, , которую я настоятельно не рекомендую: D , вы начинаете бесконечное l oop, очень агрессивно Я ожидал, что он сработает только «один раз», как написано в строке 10, но это не так, очевидно ..

Может ли кто-нибудь помочь мне понять?

Большое спасибо.

1 Ответ

1 голос
/ 27 февраля 2020

вам нужно поместить любой код, который вы хотите запустить один раз, в useEffect с пустой зависимостью массива, чтобы он запускался только один раз.

, но в приведенном ниже примере, в котором я редактировал вашу песочницу, я вставил dbRef как зависимость, поэтому всякий раз, когда это значение изменяется, функция вызывается снова.

https://reactjs.org/docs/hooks-effect.html

https://codesandbox.io/s/react-and-firebase-xir7p?fontsize=14&hidenavigation=1&theme=dark

...