Tengo que enviar la ID de película seleccionada o la ID de serie seleccionada a redux. Estoy tratando de hacer una condición. Esto es lo que hice ahora, agregué un || pero no sé muy bien si eso es posible.
useEffect(() => { if (isModalVisible) { if (Array.isArray(dataToSync) && dataToSync.length > 0) { dataToSync?.forEach((el) => dispatch(syncToServer(language, el, SelectedMovie[0]?.id || SelectedSerie?.id)) ); } } }, [dispatch, language, isModalVisible]);Sí, uso de || es muy posible. Cuando utiliza el operador lógico OR ( || ) , si la primera evaluación del primer operando es falsa, se evalúa el segundo operando.
var a = (val) => console.log(val, "val") x = {} var e = 'e'; a(x?.ele || e); a(x?.ele ? x?.ele : e); Solución 2: ??
El operador coalescente nulo (??) es un operador lógico que devuelve su operando del lado derecho cuando su operando del lado izquierdo es nulo o indefinido y, de lo contrario, devuelve su operando del lado izquierdo.
dispatch(syncToServer(language, el, SelectedMovie[0]?.id ?? SelectedSerie?.id))
Solución 3: ? :
Otra forma sería usar un ? : operador.
dispatch(syncToServer(language, el, SelectedMovie[0]?.id ? SelectedMovie[0].id : SelectedSerie?.id))