Representación condicional en React (jsx)

Mis hallazgos ...

Manejo de la entrada de archivos

Básicamente, la condición tiene que evaluarse como verdadera o falsa. Esto es diferente de cómo funcionan los condicionales en js. Esto es lo que quiero decir:

data.length > 0 && <div />

data.length && <div />

En el primer caso, si el tamaño de la matriz es 0, 0 > 0se evaluará, por falselo que se false && [anything really]evaluará como falso, por lo que el componente no se procesará.

En el segundo, sin embargo, si el tamaño es 0, se 0 && <div />evalúa como 0<div />. En otras palabras, se renderizarán tanto 0 como el elemento. Viniendo de js, esperaría que el &&operador coaccione 0 en el lado izquierdo a un booleano (falso) pero eso no sucede, por lo que ambos se renderizan, ¿así es como funciona jsx?

Es de esperar que la declaración 0 && <div />evalúe false. Ese sería realmente el caso fuera de jsx.

const value = data.length ? 1 : 0;

¿Qué tal la siguiente declaración, cuál crees que sería el resultado?

data.length ? <div />: <err />;

Entonces, suponga que se reduce a cómo los operadores binary (&&)y ternary (? :)manejan los condicionales en jsx: uno coacciona (ternario) y el otro no (binario).

¿Qué tal si cambiamos los operandos del operador binario?

<div /> && data.length > 0

Conozco personas que se mantienen alejadas del operador binario en jsx por completo debido a su naturaleza no determinista. Usan el ternario y proporcionan nullcomo operando cuando no quieren que no se represente nada para una evaluación particular.

También encontré que las reglas anteriores funcionan igual para classNames dinámicos .

Digamos que tiene un componente que indica el paso actual en un proceso, y quiere darle un color / comportamiento diferente, extendiendo los estilos para todos los componentes del paso.

Lo que quiero decir…

<div className={`step ${current ? 'current' : ''}`} />

¿Qué tal usar el nulloperando para la evaluación falsa?

<div className={`step ${current ? 'current' : null}`} />

¿Qué hay de volverse binario? Bien, veamos…

<div className={`step ${current && 'current'}`} />

Mi favorito sigue siendo la cadena vacía ''para la evaluación falsa. Déjame saber la técnica que implementas .

Si la forma en que ha diseñado su componente, no heredará ningún estilo, como lo estoy haciendo anteriormente (donde todos los componentes actuales y no actuales tienen una clase principal de step), y probablemente esté dispuesto a duplicar algunas de las reglas ( cuál es el daño) entonces el problema puede volverse mucho más fácil:

<div className={current ? 'current' : 'not-current'} />

Aún así, mi favorito es el ''.

Suggested posts

Evitar las consecuencias devastadoras de un derrame cerebral: aprender del viaje de una familia.

Evitar las consecuencias devastadoras de un derrame cerebral: aprender del viaje de una familia.

Introducción Un accidente cerebrovascular es una emergencia médica que puede afectar a cualquier persona en cualquier momento. Ocurre cuando se interrumpe el flujo de sangre a una parte del cerebro, lo que lleva a una pérdida repentina de la función cerebral.

Mis recursos de codificación más utilizados

Mis recursos de codificación más utilizados

Esta semana, recibí un correo electrónico de un miembro de la lista de correo electrónico diaria. Querían saber: ¿Qué recursos visita diariamente, semanalmente y mensualmente? ¡Gran pregunta! Estoy feliz de intentar compartir algunas ideas sobre mi flujo de trabajo y los principales recursos que uso.

Related posts

Revista abierta

Revista abierta

Diario abierto: una imagen al día. Siempre me han fascinado las historias.

El desafío de lectura de Goodreads es tóxico

El desafío de lectura de Goodreads es tóxico

La picazón en mi mano se extendió mientras negociaba con el librero local por otro libro. Este libro, como el resto que compré recientemente, encontraría su trono en mi pila de 'To Be Read' (TBR); y sin embargo, lo compré.

"La fosa de las Marianas revelada: revelando las aterradoras verdades ocultas del abismo"

"La fosa de las Marianas revelada: revelando las aterradoras verdades ocultas del abismo"

Introducción: Bienvenidos, valientes lectores, a un viaje que nos llevará a las profundidades más oscuras de nuestro planeta. En este blog, profundizamos en el enigmático mundo de la Fosa de las Marianas, descubriendo sus secretos ocultos y descubriendo las verdades escalofriantes que se encuentran debajo de su superficie.

Recopilación de OSINT para la caza de amenazas

Recopilación de OSINT para la caza de amenazas

¡Hola, entusiastas cibernéticos! Bienvenido de nuevo a la serie OSINT para la caza de amenazas. En el primer artículo, le di una descripción general de OSINT y su importancia en la caza de amenazas.