Organización de archivos y carpetas
Clase 12 de 23 • Curso de React 17
Contenido del curso
Clase 12 de 23 • Curso de React 17
Contenido del curso
Juan Castro
Luis Fernando Rodriguez Boett
Cristian Blandon
Jean Paul Yepes
Juan Miguel Garcia Carballo
Jean Paul Yepes
Juan Castro
Jose Montoya
Juan Sebastian Abril Pérez
Lucas Frezzini
Patricio Galarza
Edixon javier Pabon Lizcano
Rodrigo Milesi
Gonzalo Vidal
Miguel Esteban Meza Galán
Luís Hernández
Luis Fernando Rodriguez Boett
Luís Hernández
Ciro Villafraz
erick blanco
Juan Castro
Brian Cobaleda
Angel Choque
oswaldo Rodríguez
Fernando Peralta
Joseph Manuel Salen Pantoja
Nicolas Betancur Pavas
Rodolfo Ugalde Ochoa
Luis Gerardo Collazos Castro
Henry Núñez
Juan Pablo Jimenez
Rubén Cuello
Andres López
Pedro Iván Juárez Cornejo
Julian David Vidal González
John Orellana
Carlos Andres Poiche Soliz
Ángel David Vargas Hernández
Carlos Andres Poiche Soliz
Mateo Gonzalez
La extensión para cambiar el color de Visual Studio Code en cada uno de nuestros entornos de trabajo se llama Peacock (de John Papa):
!VSCode peacock
Se ve super bonito los colores de VS Code <3. Lastima que no pueda usar VS Code T_T
¿Por qué no puedes usar VSCode? @DarkusPhantom
Stateful y Statless components
Fuente: Stateful and Stateless Components in React
Osea que los componentes stateless siempre tendran la misma informacion que en un principio y nunca cambiaran?
Hola Juan. Soy yo del futuro. Y quiero decirte que con un poco mas de experiencia del asunto. La gran diferencia entre ambos tipos de componentes es:
useState() eso implica que el tiene que encargarse de manejar una variable que dispara un cambio en lo que muestra en la interfaz. Un ejemplo común: un contador que aumenta cuando el usuario hace click sobre el.useState() eso implica que muestran algo que les llega externamete y esa es la palabra clave. No se encargan de lidiar con variables que puedan cambiar la interfaz. Otro componente externo se encargará de ello. Un ejemplo: los comentarios de Platzi, tu escribes en un lugar y los comentarios con formato se visualizan en otro, en el primer lugar tienes variables useState() que guardan lo que escribes y en el segundo solo tienes un componente que presenta lo que se escribe.Atajos de teclado de VSCode:
Grande Cap :D
El atajo que uso el Profe para escribir en varias lineas es "Alt+Click"
Obvio que es cuestión de gustos, de hecho me encanta el orden y me aguante ordenar las cosas porque había visto que estaba esta sección dentro del curso y quería ver como organizan todo en ReactJS.
.
Ahora bien, entiendo que es al menos, más rápido para ordenar, etc pero usar index.js por defecto al nombre del componente lo veo poco veloz a la hora de altabear o buscar dentro de las pestañas para saber que estas editando. Siento que aunque quede por ahí relevante, repetir el nombre del componente en su carpeta seria lo más optimo.
.
De hecho del Curso de Librerías y Frameworks en el capitulo relacionado a este dejaron unos links a como organizar para que sea escalable un proyecto en React en el 2021 (acá el link https://codewithghazi.com/best-scalable-react-app-structure-2021/ ) y también lo hacen como organiza el profe con ComponenteX/index.jsx, no me gusta pero se ve que a la larga es lo mejor.
.
Habrá que acostumbrarse :) y luego seguí mirando el video y el profe habla sobre ese caso, lo sentí medio incomodo pero nada que no se pueda acostumbrar.
.
Luego se habló sobre stateful vs stateless y sobre como ordenar ya nuestro código del componente, dejo acá unas lecturas para interiorizar sobre el tema ya que no recuerdo haber hablado sobre el tema anteriormente:
Gracias buen hombre
Gracias yo tambien estaba en esa lucha de por que estaba organizado asi.
Primero apaguen el servidor antes de organizar las carpetas y luego lo prendes o sino te sale un error, como me paso a mi 😞.
jaja tenías razón :(
es cierto, no sabia por que me daba error, reinicie el server y ya quedo funcionando
Así lo he organizado:
/📂src App.jsx Index.jsx /📂components /📂TodoCounter TodoCounter.jsx todocounter.scss /📂TodoSearch TodoSearch.jsx todosearch.scss /📂TodoList TodoList.jsx todolist.scss
Tambien lo tengo asi. Solo que no uso SASS
Se puede colocar extension .jsx?
.jsx no es ni JS, ni HTML. Entonces se considera una buena práctica usar el nombre de extensión JSX.
Algunos argumentos que he leido:
Pero, las etiquetas usadas en JSX no son un estándar. Y usando .jsx es una forma de identificar el código que estás escribiendo.
PD: Queda a elección del programador ;)
Pienso que las carpetas de los componentes deberían ir dentro de una carpeta llamada components, esto con el fin de no tener tantas carpetas directamente en src
siempre he querido saber porque la mayoria de los profesores si no son todos en platzi, despues de tener todo ya hecho, comienzan los cambios de organizacion en la mitad del curso, estoy muchas veces en mi caso causo problemas y la desorganizacion hizo que desistiera de los cursos por no seguir la continuidad, este no fue el caso al menos pero si quisiera saber cual es el objetivo de hacerlo de esta manera
Normalmente la importancia de una buena estructura de archivos y carpetas no es fácil de ver/entender para principiantes sino hasta que ya tenemos como la mitad de un proyecto. Explicarlo al principio podría confundir o simplemente no entenderse tan bien. . Also, responde mejor al "principio" de show, don't tell.
Estoy de acuerdo contigo, no solo pasa en este video, he visto quepasa en muchos cursos, van con un ritmo y después cambian todo!
segui el tuyo mismo, pero usando TS :)
tal cual así organizó yo, solo que yo agrego los componentes de css dentro de componentes de sass y ya solo tengo un cds para todo
A veces cuando se tienen muchas carpetas abiertas en el editor, se puede hacer un desastre, hay un botón que con 1 solo clic se pueden cerrar todas las carpetas abiertas y así tener más organizado nuestro lugar de trabajo, el botón está en la parte superior derecha del organizador de carpetas:
también les pasa que se demoran mas de 2 a 3 horas analizando una clase de 16 minutos
Si amigo, no estas solo :-)
Algunas las repito varias veces jeje. Pero a pesar de ello no se pierde el interés por el mismo.
JAJAJAJ el suspiro de JuanDC en 11:16 porque le tocaba enviar todos los props es icónico jajajaja
11.-Organización de archivos y carpetas
Para tener una mejor organización dentro de nuestro proyecto vamos a hacer una carpeta para cada componente.
Una desventaja de esa manera de organizar es que muchos archivos tienen el nombre de index, pero visual no ayuda de cierta manera a identificar cuál es cual.
NOTA: Cuando no se especifica un archivo dentro de una carpeta automáticamente llama a index.js
Stateless vs Stateful
En App hay que abstraer la UI en un nuevo componente al cual llamaremos con todas las props que necesitemos desde el componente App general.
Rompí todo el código y me tomó una vida repararlo, pero lo logré :smile:
En lo personal no me gusta eso de que cada archivo de cada componente tenga el mismo nombre, así que por mi parte organice las carpetas de la siguiente forma:
En lo personal no soy fan de estar trabajando con varios archvos llamados inde.js aun con la ayuda de VS Code
A mi me gusta poner todos los componentes en una carpeta "components", mas adelante cuando usemos navegacion con React Router, me gusta crear otra carpeta "pages".
Y si conectamos con una BD (por ejm firebase), creamos la carpeta "services"
Hola! puede que tengas un error , reinicia el servidor, verifica que estés exportando los archivos y por ultimo puede que te falte los brakets = function AppUI({ totalTodos, compledTotal, searchValue, setSearchValue, filerElements, completeTodos, DeletTodos, }) {
No sabes como te amo
Por si les aparece un error de que no encuentra un archivo y ya revisaron como 1001 veces que todo esté correcto, reinicien el servidor.
como reinicio el servidor?
Yo use Vitejs para hacer el proyecto y organize de esta manera los archivos