No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

15 Días
7 Hrs
59 Min
4 Seg
Curso de React.js

Curso de React.js

Juan David Castro Gallego

Juan David Castro Gallego

Tips para naming y abstracción de componentes React

17/34
Recursos

Aportes 56

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Espero les guste mi organización
Creo que se llama por componentes
Es muy sencilla y como uso StyleComponents y MaterialUI no tengo muchos assets.

En Windows el atajo de VSC que se utiliza en el video consta de lo siguiente:
.
Primero se copia los argumentos de AppUI:

completedTasks,
totalTasks,
searchValue,
setSearchValue,
searchedTasks,
completeTask,
deleteTask,

.
Luego, en el index,js donde retornamos <AppUI />, se puede pegar lo copiado de la siguiente manera:

return (
    <AppUI
    completedTasks,
    totalTasks,
    searchValue,
    setSearchValue,
    searchedTasks,
    completeTask,
    deleteTask,
    />
  ); 

Lo que sigue es mantener oprimido la tecla alt y con Click izquierdo vamos poniendo los cursores al final de cada coma , (los | son meramente ilustrativos 😅).

return (
    <AppUI
    completedTasks,|
    totalTasks,|
    searchValue,|
    setSearchValue,|
    searchedTasks,|
    completeTask,|
    deleteTask,|
    />
  );

.
Una vez que tengas posicionado los cursores, eliminas las comas.
.
posteriormente mantienes oprimido Shift y Ctrl junto a la tecla de flecha izquierda. Con eso se tendrán seleccionadas esas partes y lo copiamos.
.
Finalmente, solo se aumenta el ={} mediante los cursores y pegamos lo copiado dentro de las llaves. En mi caso queda de la siguiente manera:

return (
    <AppUI
      completedTasks={completedTasks}
      totalTasks={totalTasks}
      searchValue={searchValue}
      setSearchValue={setSearchValue}
      searchedTasks={searchedTasks}
      completeTask={completeTask}
      deleteTask={deleteTask}
    />
  );

Esta es la organizacion de mis archivos:

Esta genial poder separar el UI del App!!!

Stateless vs Stateful:
Para tener una mejor organización de nuestros archivos podemos usar la “regla” del stateless vs stateful que consisten en separar nuestros componentes entre los que tienen lógica por dentro y los que renderizan el contenido, haciendo así un poco más agradable a la vista nuestra búsqueda y navegación entre componentes y su contenido.
Esto no es una regla, es más bien una práctica que varios programadores siguen y puedes o no usarla según que tan útil la sientas en tu proyecto y que tan cómoda te parezca.

Mi pequeño aporte:
- Componentes Statefull vs. Componentes Stateless:
Statefull: Componentes que se enfocan en el manejo de estados y la logica de la app (delete, complete, save)

Stateless: Componentes que se encargan de la interfaz (AppUI)

Profesor DCómics: Respeto tu opinión, pero reafirmo mi autoridad como tu profesor 😅

Juan’s file organization is actually very good, but I think it is a better practice to store your components within a folder named “components”. Also there might not be much need of using a separate folder to store each component individually, because if there are a lot ot them, this can be visually a little bit overwhelming. This practice is good if there are some specific components with more information inside them, like for example, if we have a TaskList.jsx component, chances are there will be a TaskItem.jsx nested, and also we can store custom css stylesheet just for that component. In those cases I do see the need of using separate folders for each component but overall it can turn bothersome to the sight

Yo encantado con esta organización, me parece super eficiente y el Vs Code se encarga de hacerlo todo intuitivo. Estaría bueno un comando como para crear los componentes con su index y el css de una vez.

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.

Lei que cuando la aplicacion crece tambien es util tener una carpeta componentes para los componentes globales que se reutilizan a traves de la aplicacion y otra llamada views o pages no recuerdo, para las diferentes vistas de la pagina como hompeage, login, etcetera.

Si crece mucho mas decia que se puede organizar por features

Me confunde un poco el tener varios archivos del mismo nombre, así que lo deje con su propio nombre.

Si llegaste hasta acá, vas por la mitad del curso. 😊 ¡No te rindas! 😎

A mí en lo particular, cuando tengo abierto varios archivos que se llaman index.js, a primera vista, me confunden, así sea que visual estudio, le coloca al lado la ruta de cada uno, pero eso me confunde, prefiero que cada archivo lleve su propio nombre.

En mac, el shortcut para seleccionar multiples lineas e invocar multiples cursores al final de cada una, es el siguiente: option+shift+click en cada linea

Hasta ahora mi proyecto va asi un tanto ordenado agradeceria alguna sugerencia para para mejorar el orden de los archivos.

Like si te dan estrés los comentarios en las líneas de juan.

Lo he organizado de una manera parecida a como es en Angular.

Me encantó la idea de poder separar la lógica del “html” jaja y me causa un poco de gracia como JDC cuida mucho sus términos para los que se ofenden con facilidad. jajaja

con mucho respeto mi organizacion fue igual a la tuya peroooo… no quize que los archivos .js se llamen index.js asi que los deje con el nombre del componente.js… lo demas igual a tu organizacion… perfect!!!

## 🦄✨Me gustó bastante separar la lógica de App, el código se ve mucho mejor. En mi caso, nombré a los archivos .js con el mismo nombre del directorio porque lo hice así desde un principio y ya me acostumbré jaja no tengo otra razón para no llamarlos index.js Me quedó así :3 ![](https://static.platzi.com/media/user_upload/image-e47dc65b-b6ee-4ce4-97dc-5557f269b318.jpg)
Entonces el componente stateful es index.js ya que esta manejando el estado y el componente stateless es AppUI porque esta renderizando solo los datos 👌🙌. Me agrada esta forma de organizar los archivos
Siempre es bueno tener todo bien organizado para no estar perdidos a la hora de buscar un archivo en especifico, yo personalmente me siento mejor llevándolo de esta manera. ![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-05-27%20a%20la%28s%29%204.56.42%E2%80%AFp.%C2%A0m.-753a7650-c843-4dd1-a74f-af161be492b9.jpg)
Les comparto la mi estructura de carpetas. 😄 ![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-05-27%20212353-791adfdd-b83d-41b7-9a91-dc93e7227175.jpg)
Esta fue la organización que elegí. En los proyectos de React en los que me tocó trabajar se manejaban de una manera similar a esta. Además, en mi computadora personal tengo una extensión para VS que le agrega estilos a las carpetas y me gusta como queda. ![](https://static.platzi.com/media/user_upload/image-69ec5702-7e9e-45f6-bfd0-08d977f58fa9.jpg)
Mi orden de carpetas: ![](https://static.platzi.com/media/user_upload/imagen-67ecc429-e0e5-43fc-a90b-8a894ecdab18.jpg)

Buenas como van, mi forma de organizar el proyecto la muestro a continuacion:

uso algo similiar a atomic design

Comparto la idea de JuanDC

Así quedó la organización de mis archivos, seguí la recomendación de separar el UI del Js en la carpeta App

Aunque también valoro su incorrecta organización 😂

Organizacion del proyecto

Hola amigos, esta es una estrucutra de un proyecto que hice hace un tiempo, como pueden ver aquí estan los archivos “.jsx” que es una nomenclatura de react, en la que se hacer saber que estamos trabajando HTML dentro de un archivo JavaScript. Pueden notar que tengo la carpeta assets que a su vez está dividida por dos carpetas más en las cuales divido por iconos que mayormente tienen las extenciones .svg e imagenes que tienen extenciones jpg, jpng y otras más

Así es como más o menos se vería un proyecto en la vida real, si quieren echar un vistazo a este proyecto, les dejo el link aquí debajo también
https://github.com/raycris/store.git

Súper, me gusta la idea propuest apor JuanDC

asi quedo mi codigo organizado

Una vez intente lo de poner el index pero termine bien confundido cuando hice mi proyecto jajaja!, así que opté por la que esta en la imagen. No voy a negar que se puede repetir en los imports.

Así tengo la mía, no sé como se llama, pero creo que es bastante organizada, en los componentes pongo un Index y un archivo con el nombre del componente, el Index me exporta lo del componente, por lo que la ruta no se cambia y no se ve todos con el mismo nombre de index.

Comparto la estructura que yo uso ![](https://static.platzi.com/media/user_upload/image-d6927509-e521-4ab6-8dc4-6e3900a12afc.jpg)
![]()En mi caso lo estructure de la siguiente manera ![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-11-12%20200056-df95713d-1940-439e-b435-43fae8b1f1ef.jpg)
Mi organización fue casi la misma, pero decidí almacenar todo en una carpeta llamada components (incluyendo App) y quise almacenar también, la carpeta todoIcon dentro de TodoItem. ![](https://static.platzi.com/media/user_upload/image-dcd30b53-47a7-4991-8ad3-e97acb867964.jpg)
Llevo estudiando react hace mas de un año y nunca habia visto esto. Y esta de puta madre.
Asi quedo organizado por mi parte ![](https://static.platzi.com/media/user_upload/image-b018a840-a34e-4109-b3f1-94a9901be50c.jpg)
no se debería separar por responsabilidad
Así quedo mi organización !!! ![](https://static.platzi.com/media/user_upload/image-6fc218cf-f978-49d5-8867-75f99a350af0.jpg)
Genial esta clase para así tener un control optimo de nuestro aplicativo. En mi caso decidí tomar parte de la enseñanza y orientarlo como mejor lo vi conveniente. Les comparto mi organización. ![](https://static.platzi.com/media/user_upload/image-81e30489-08b6-4e95-9d5c-542183ab05b2.jpg)
Asi quedo mi estructura de archivos, preferí colocar una carpeta para los componentes, y otra para el hook, como estoy usando tailwind no tengo hojas de estilos adicionales. ![](https://static.platzi.com/media/user_upload/image-33bc8c91-1bb3-48fe-ad37-df10465e9fe3.jpg)
![](https://static.platzi.com/media/user_upload/image-978ebb59-395e-4a54-a4bf-74776c9fe14c.jpg) Para mi funciona mejor tengo una carpeta assets donde pongo los archivos estaticos de scss fonts y proximamente images.
Lo único que no escuché en esta clase que me parece mas adecuado es mover también el uso de los estilos al componente AppUI
Mi organizacion ![](https://static.platzi.com/media/user_upload/image-fcfaca3b-23d2-4adf-a4f0-f3fba06c587e.jpg) ![](https://static.platzi.com/media/user_upload/image-02d33f93-cfaf-4066-b398-bdace439c3f4.jpg) ![](https://static.platzi.com/media/user_upload/image-2853e8fc-5158-45e8-9349-81e082503e1b.jpg) ![](https://static.platzi.com/media/user_upload/image-c18bf2ac-128a-4f35-a55e-77501ae7e610.jpg) ![](https://static.platzi.com/media/user_upload/image-a1c1d6a4-0268-486c-ae59-196e260ea007.jpg) Y el total ![](https://static.platzi.com/media/user_upload/image-9a0ec910-4f92-4c75-b1f0-84477ce7b5d6.jpg) ![](https://static.platzi.com/media/user_upload/image-f4de7f5f-898b-4aa4-ba4c-a493b0565639.jpg)
<https://reboot.studio/blog/es/estructuras-organizar-proyecto-react>
Creo que esta puede ser una buena organización para proyectos pequeños, sin embargo, a medida que este crece y se añaden nuevos componentes, esta estructura puede llegar a ser algo tediosa. Escoger una buena estructura para un proyecto puede ser complicado, ya que depende de su tamaño, de sus funcionalidades, de sus requisitos, de su complejidad, etc. Aquí les dejo un artículo muy interesante donde se mencionan distintas formas de organización para React.js: <https://reboot.studio/blog/folder-structures-to-organize-react-project> Espero les guste!!
Yo decidí crear una carpeta Components para allí dejar todos los componentes ya que tengo una única hoja de estilos CSS y me parecía redundante crear una carpeta para cada componente. en fin este es el resultado (insertaría la imagen pero la plataforma no me dejo) F en el chat
![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-02-05%20121350-f4da468c-c537-435a-9861-0473f7e928d2.jpg)
Buenas gente, les dejo mi forma de organizar las carpetas, a mi me hace feliz jaja. ![](https://static.platzi.com/media/user_upload/image-ace51417-4a80-4fab-933e-777e7e897002.jpg)
en mi caso uso bastante control P para ubicar rapidamente un archivo en vs code por lo que no me gusta mucho tener 11 index.js cuando uso ese atajo, por eso le deje sus nombres originales a los archivos
Así organicé mi proyecto. ![](https://static.platzi.com/media/user_upload/image-9fbf03de-fb77-4673-8787-66d6c3e86715.jpg)
![]()![]()A mi me gusta usar esta: ![](https://static.platzi.com/media/user_upload/Screenshot%202023-11-03%20at%207.02.30%E2%80%AFp.m.-a6047e31-b1c7-45d6-af6d-60bcea175bd5.jpg)
Yo soy mas de organizar el proyecto como por modulos y que dentro tenga sus componentes, paginas internas, custom hooks que solo se usen ahi y por fuera ese orden pero solo teniendo lo que usamos de manera general en toda la app. Siento que es mas facil como de revisar y ver

me gusto bastante la parte de: valoro tu incorrecta opinión 😄