Usando Redux Toolkit, tengo un asyncThunk que me gustaría mostrar errores. Cuando intento:
El thunk:
// Save a new role export const saveRole = createAsyncThunk( "roles/saveRole", async (role, { rejectWithValue }) => { try { const response = await api.post("/api/roles/", role); return response.data; } catch (err) { return rejectWithValue(err.response.data); } } );El reductor:
.addCase(saveRole.rejected, (state, action) => { state.error = action.payload; state.isLoading = false; }); El div quiero mostrar un error:
{roles.error && ( <div className="error-container"> {roles.error.employee_type} </div> )}Lo que da este error:
TypeError no capturado: no se pueden leer las propiedades de nulo (leyendo 'employee_type')
Lo que quiero es poder identificar si el error se trata de un campo específico y, de ser así, apuntar a ese campo exacto.
Encontré esta extraña sintaxis para resolver el problema. Parece verificar si el elemento existe solo cuando no está indefinido:
{roles.error?.employee_type && ( <div className="error-container"> {roles.error.employee_type} </div> )}