использование оператора js… для передачи данных в редуктор redux

#reactjs #redux #react-redux

#reactjs #redux #реагировать-redux

Вопрос:

я хочу передать вложенный объект в redux reducer, я знаю, что должен использовать … оператор для создания глубокой копии. Но я не могу узнать, как передать / скопировать массив комментариев и объект _user, вложенный в каждый элемент массива комментариев.

 {
"mess": "",
"article": {
    "_id": "5faba634513b091effd8c37f",
    "article": "intoheadLifestyle",
    "likeArt": 0,
    "dislikeArt": 0,
    "comments": [
        {
            "_id": "5faba635513b091effd8c381",
            "commentId": {
                "_id": "5faba634513b091effd8c380",
                "comment": "finish for today, all is working as expected, even better .....",
                "like": 0,
                "dislike": 0,
                "_user": {
                    "_id": "5fa93d08533de7437c77a5a0",
                    "username": "jerome",
                    "password": "$2b$10$is66cqM5K5ZE/z7T34a54e0TNXSrdVZIx7jF5sqkZQ1gAwOplt4Si",
                    "__v": 0
                },
                "createdAt": "2020-11-11T08:52:04.960Z",
                "__v": 0
            }
        },
        {
            "_id": "5faba64b513b091effd8c383",
            "commentId": {
                "_id": "5faba64a513b091effd8c382",
                "comment": "another coent ca c bien coool",
                "like": 0,
                "dislike": 0,
                "_user": {
                    "_id": "5fa93d08533de7437c77a5a0",
                    "username": "jerome",
                    "password": "$2b$10$is66cqM5K5ZE/z7T34a54e0TNXSrdVZIx7jF5sqkZQ1gAwOplt4Si",
                    "__v": 0
                },
                "createdAt": "2020-11-11T08:52:26.995Z",
                "__v": 0
            }
        }
    ],
    "__v": 2
}
  

}

этот объект поступает из «res.payload.data», поэтому я попытался это сделать

 let datas = {...res.payload.data,
                  article: {...res.payload.data.article,
                           // then i don t know for the 'comments' array ..???
                           // and i am lost for the '_user' object into each element of the array...
  

Спасибо, если у кого-то есть идея.

Ответ №1:

Я думаю, вы имели в виду распространение массива [...value]

 let datas = {
  ...res.payload.data,
  article: {
    ...res.payload.data.article,
    comments: [...res.payload.data.article.comments],
  },
}
  

Ответ №2:

хорошо, я понимаю, как передавать комментарии [], спасибо.

Но как передать объект ‘_user’, который находится в каждом элементе массива ‘comments’, его также необходимо распространить (я не знаю, говорим ли мы это так.).)…