No se si se pueda decir que se armo un desastre de codigo, corrijanme si estoy equivocado 😉
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 33
Preguntas 6
No se si se pueda decir que se armo un desastre de codigo, corrijanme si estoy equivocado 😉
👋Hola chicos, no sé si solamente tengo esta urgencia en mi alma y no puedo contener lo que voy a escribir: Desde el principio solo Dios y yo sabÃamos el código, ahora solamente Dios lo sabe.
me encanta este curso por que ademas de redux es un repaso muy grande de react y de javascript
se aprende algo nuevo en todas las clases
Si alguien viene del curso de javacript profesional de Richard seguro le va a sonar hasOwnProperty para buscar si un objeto contiene una propiedad 😃
!this.props.userReducer.users[key].hasOwnProperty("postsKey")
Qué tal de esta manera?
//find user
const user = this.props.usersReducer.users.filter(u => u.id === parseInt(id)).shift()
if (!user.posts) {
this.props.getPostsByUser(id)
}```
Para los que lo están manejando con id
class publications extends React.Component {
async componentDidMount() {
const {
UsersReducer: { Data },
Add_AllsPublicationsByUser,
Add_AllsUsers,
match: {
params: { Id }
}
} = this.props;
if (!Data.length) {
await Add_AllsUsers();
}
const UserIndex = this.props.UsersReducer.Data.findIndex(user => {
return user.id === parseInt(Id);
});
if (this.props.UsersReducer.Error) {
return;
}
if (!("PublicationsIndex" in this.props.UsersReducer.Data[UserIndex]))
Add_AllsPublicationsByUser(Id);
}
render() {
if (this.props.UsersReducer.Error || this.props.PublicationsReducer.Error) {
return (
<Error
error={
this.props.UsersReducer.Error ||
this.props.PublicationsReducer.Error
}
/>
);
}
if (
!this.props.UsersReducer.Data.length ||
this.props.UsersReducer.Loading ||
this.props.PublicationsReducer.Loading
) {
return <Loading />;
}
const User = this.props.UsersReducer.Data.find(user => {
return user.id === parseInt(this.props.match.params.Id);
});
return (
<div>
<h1>Publications´s {User.name} </h1>
</div>
);
}
}
Genial aplicacion del operador in, no lo conocia y antes que lo hagas justo me preguntaba como iba a hacer esa solucion
:V
Clementina
De esta forma queda mejor presentado.
Si están usando clases le añanden this al principio y listo.
const usuarios = props.usuariosReducer.usuarios;
const key = props.match.params.key;
Yo no veo ningun en riedo en el codigo:
para que no se repita, y no vuelva a pedir publicaciones que ya habiamos solicitado. utilizamos el siguiente codigo:
Ahora ya no se repite.
luego se hacen cosas opcionales, como desestructurar datos y agregar componentes de Spinner y Fatal.
Esta y la anterior clase se complementan, ahora me pongo a pensar en las cantidades de peticiones que nos podemos ahorrar cada vez que queremos ver el detalle de algún registro. Excelente!
Qué buena manera de evitar peticiones innecesarias :3
Compañeros les agradecerÃa si me aclararan una duda, sé que se creó este dispatch para mandar actualizar pero no entiendo en qué momento se reflejan los usuarios actualizados o cómo está funcionando Gracias!
Fue necesario repetir 10 clases atras y ver esta dos veces mas. Para poder entender que fue lo que se hizo.
Ahora si ya quedo claro como fue el flujo de datos y cual fue el problema de sobreescritura en el arreglo de publicaciones.
Consejo: Poner comentarios en cada linea de codigo. Y no borrar los cambios es mejor comentarlos para entender porque se hizo algo
Por medio de validaciones estamos controlando fallos y generando una mejor experiencia al usuario:
Esto nos permite generar un flujo controlado de la información. Sin dañar nada y ofreciendo buen UX.
Excelente clase
los reducers no siempre pueden destructurarse porque es el estado y se actualiza, pero el componentDidMount se ejecuta una vez despues del render
puros errores con este chavo
se puede usar el hook useParams() para evitar escribir this.props.match.params.
Seria
import { useParams } from 'react-router-dom';
class Publicaciones extends Component {
async componentDidMount() {
...
if (!('publicaciones_key' in this.props.usuariosReducer.usuarios[useParams().key])) {
...
buena clase pero porque me sigue saliendo ese numero
Excelente clase
Excelente
Excelente clase. 🙂
Excelente clase
EL caso donde si se puede destructurar un objeto porque hace parte del render
Esto no seria incorrecto debido a que si se actualiza una publicacion, pero tiene el mismo id, tendriamos en el state 2 publicaciones con mismo id?
Buenas, alguien tuvo este problema?
Gracias saludos!
Este curso parece ser mas redux y una gran introducción a JS y React. Fue poco el contenido real de redux
Hola Devs:
-Les tengo soluciones mas simples y facil de mantener en mi repositorio del proyecto, espero y le sean de ayuda.
Click Aqui
Recuerden, #NuncaParesDeAprender 💚
Por sii a alguien se le seguÃa sumando el publicaciones_key, yo lo solucioné asÃ:
const postsKey = actualPosts.length -- -1;
const actualUsers = [...users];
actualUsers[key] = {
...users[key],
postsKey
}
Un excelente repaso de react y javascript
u. yo utilice el hasOwnProperty jeje otra forma de hacerlo
useEffect(() => {
if (!usuarios[id - 1].hasOwnProperty('publicaciones_id')) {
dispatch(getDatosPublicaciones(id));
}
}, [id, usuarios, dispatch]);```
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.