Je continue à obtenir Comment puis-je vérifier indéniables? J'ai essayé le chèque ci-dessous, mais continuez à obtenir l'erreur: p> userload code>
non défini code> lors de la destruction:
3 Réponses :
Vous devez avoir une action définie comme ceci Et vous pouvez vérifier que la charge utile n'est pas non définie comme celle-ci const action = {utile de la charge: {vidéos: ["Matrix", "Star Wars"]}} Code> P> P>
si (action && action.payload) code> alors vous pouvez faire votre opération de destruction. P>
Il vous suffit de vous assurer que l'action est définie en premier et accédez à ses paramètres au lieu d'appeler la charge utile par elle-même. Dans votre exemple, il semble que p> la charge utile code> était non déclaré lorsque vous essayez d'y accéder
function getVideos(action) {
const {payload: {videos=[]}={}} = action || {};
return videos;
}
console.log(getVideos()); // action undefined, expected []
console.log(getVideos({})); // payload undefined, expected []
console.log(getVideos({payload: {}})); // videos undefined, expected []
console.log(getVideos({payload: {videos: [1,2,3]}})); // expected [1,2,3]
Vous pouvez prendre un chèque et une valeur par défaut sans la destruction.
p> function getVideos(action) {
return action && action.payload && action.payload.videos || [];
}
console.log(getVideos()); // action undefined, expected []
console.log(getVideos({})); // payload undefined, expected []
console.log(getVideos({ payload: {} })); // videos undefined, expected []
console.log(getVideos({ payload: { videos: [1, 2, 3] } })); // expected [1, 2, 3]
où est
la charge utile code> déclarée?
Avez-vous
use de charge utile code> ou
action code>?
essayez
si (charge utile) {// quelque chose} code>
Obtenez-vous l'erreur dans
si (paylard.videos) code> ou dans la déstructuration? Quel est le message d'erreur exact? Ce n'est pas clair
Dupliqué possible de Comment éviter "Impossible de lire la propriété des erreurs non définies" ?