Reactjs 未定义变量时如何等待

Reactjs 未定义变量时如何等待,reactjs,Reactjs,我有两个“useEffect”,第一个只运行一次,第二个每次更新日期都运行。问题在于,第二个useEffect依赖于在第一个useEffect上设置的值。有没有简单的方法让第二个useffect等待变量被定义 这就是我所拥有的: useEffect(() => { database.collection('EmpleadosDev').get() .then(response => { const fetchedEmpleados =

我有两个“useEffect”,第一个只运行一次,第二个每次更新日期都运行。问题在于,第二个useEffect依赖于在第一个useEffect上设置的值。有没有简单的方法让第二个useffect等待变量被定义

这就是我所拥有的:

useEffect(() => {
    database.collection('EmpleadosDev').get()
        .then(response => {
            const fetchedEmpleados = [];
            const emails = [];
            response.forEach(document => {
                const fetchedEmpleado = {
                    id: document.id,
                    ...document.data()
                };
                fetchedEmpleados.push(fetchedEmpleado);
                fetchedEmpleados.forEach(element => {
                    emails.push(element.Email)
                });
                if (!emails.includes(currentUser.email)) {
                    alert('Este usuario no tiene permisos de acceso. Serás redirigido al login');
                    firebase.auth().signOut();
                    throw BreakException;
                } else {
                    setEmpleadoSeleccionado(fetchedEmpleados[emails.indexOf(currentUser.email)]) **//This is what I need on the second useEffect**
                }
            });
            setEmpleados(fetchedEmpleados);
        })

}, [])
这是第二个效果:

useEffect(() => {
    if (empleadoSeleccionado !== undefined) //This works only when I update "startDate" {
        database.collection('NegociosDev').doc(empleadoSeleccionado.RefNegocio.path.split('/')[1]).collection('Negocios').doc(empleadoSeleccionado.RefNegocio.path.split('/')[3]).collection('citas').get()
            .then(response => {
                const fetchedCitas = [];
                const fetchedIDs = [];
                response.forEach(document => {
                    const fetchedCita = {
                        id: document.id,
                        ...document.data()
                    };
                    const fetchedID = document.id;

                    fetchedIDs.push(fetchedID);
                    if (fetchedCita.CheckIn.split(' ')[0] === startDate.toISOString().split('T')[0]) {
                        fetchedCitas.push(fetchedCita);
                    }
                });
                setCitas(fetchedCitas);
                setIDs(fetchedIDs)

            })
    }
}, [startDate])

我发现可以在useEffect上使用第二个参数,如下所示:

useEffect(() => {
    //code
}, [par1, par2])
每次任何一个改变都会触发