Todo seria mejor si el codigo fuera mas entendible 😦
Bienvenido al curso
Conoce a tu profesor y todo lo que aprenderás sobre Redux
¿Qué conocimientos me recomiendan para tomar este curso?
Repaso React
¿Qué es React y cómo funciona?
Preparando nuestro entorno de trabajo
Creación de la app con React
Agregando funciones a la app con React
Stateful vs Stateless
Ciclo de vida de React
Manejando promesas
React Router DOM
Introducción a Redux
¿Qúe es Redux, cuándo usarlo y por qué?
Fases de Redux
Introducción: las fases de Redux
Store
Reducers
Conexión a un componente
Action Creators
Redux Thunk
Explicación teórica: ciclo completo de Redux
Práctica: ciclo completo de Redux
Fases Extra
Archivos Types
Try Catch
Escenarios asíncronos
Componente Spinner
Componente Fatal
Tabla como componente
Compartir información en Redux
Introducción Compartir información en Redux
Parámetros por URL
Compartir Reducer
Múltiples Reducers
Llamando a múltiples reducers en una acción
Uso del estado en la acción
Evitar segundas búsquedas
Inmutabilidad
Evitar sobrescritura
Validación compuesta
Validación de errores
Modificando respuesta de url
Estado con interacción
Mostrar componentes dinámicamente
Llamadas asincronas dinámicas
Props por herencia vs estado
Estado compartido
Métodos HTTP
Introducción a métodos HTTP
Nuevo ciclo Redux
Normalizar datos
Mapear Objetos
Componente para agregar tarea
Manejar inputs con Reducer
POST
Deshabilitando botón
Redireccionar
Reutilizar componentes
PUT
DELETE
Últimos detalles
Conclusión
Conocimientos adquiridos
Qué hacer a continuación
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 9
Preguntas 0
Todo seria mejor si el codigo fuera mas entendible 😦
Cada vez que hagan click llama a esta function mostrarComentarios() y recibe por parametro la casilla de donde están las publicaciones de este usuario y a cual publicación en especifico fue a la que le di click y nos llegan los comentarios
llamamos al actions Creator que modifica el atributo abierto de la publicación. abrirCerrar()
Creamos un ACTIONS traerComentarios() en publicacionesActions y en el componente lo destructuro y lo ponemos en el **mapDispatchToProps **ya nos llega por props ese actions y lo llamamos this.props.traerComentarios(pub_key, com_key);
.
Conclusión: Creamos una función en el componente que cuando le dan click a una publicación esta se llama y la función llama a dos actions uno que modifica el atributo abierto y otro que va a buscar los comentarios de esa publicación.
El curso sin duda tiene que revisarse, estoy tomando una ruta un poco alternativa, os dejo mi código del action
export const showComments = (key) => (dispatch, getState) => {
// Get the correct post
const { posts } = getState().postsReducer
const arrayPostsFilter = posts.filter((post) => (post.id === key))
let objectPost = arrayPostsFilter[0]
// Toggle for dummies
if(objectPost.showComments === true){
objectPost.showComments = false
} else{
objectPost.showComments = true
}
// substitute object by index equal to key.id
let foundIndex = posts.findIndex(post => post.id === objectPost.id);
posts[foundIndex] = objectPost;
dispatch({
type: GET_POSTS,
payload: posts,
})
}```
no me imagino bajar el repo de este proyecto y tratar de entenderlo sin ver el curso
Al ver el número de aportes a la fecha de este comentario (6), me doy cuenta que muchos se han rendido o dejaron de entender el curso y solo lo terminaron por terminar.
Mi duda es: ¿Redux tiene tan alto nivel de complejidad?
Pienso que la validación del componente de comentarios para saber si está o no abierto debería ir en un estado propio del componente con useState y no complicarse con redux para algo sencillo.
En esta parte, solamente anidamos los argumentos que se están pasando a las acciones y creamos el nuevo componente de Comentarios ─
isOpen
)showPublicationsInfo = (userPublications, userPublicationsKey) => {
return userPublications.map((publication, publicationCommentsKey) => (
<div
key={`${publication.userId}_${publication.id}`}
className="publications_body"
onClick={
() => this.showComments(
userPublicationsKey,
publicationCommentsKey,
publication.comments
)
}
>
<h4> {publication.title}
</h4>
{
(publication.isOpen)
? <div>
<p>{publication.body}</p>
<Comments />
</div>
: <span>Abrir</span>
}
</div>
));
};
showComments = (userPublicationsKey, publicationCommentsKey, comments) => {
this.props.openAndClosePublications(userPublicationsKey, publicationCommentsKey);
this.props.getComments(userPublicationsKey, publicationCommentsKey);
}
Buena clase excelente contenido
Excelente clase. 🙂
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.