Я хочу поместить элементы списка в список предыдущего состояния. Я использовал неизменяемый «Список» и list.push(), но он не выдвигает отдельные элементы.
Просто весь список помещается в предыдущее состояние списка. так.
список [(1), (2), (3)] + список [(1), (2)]
==> Список [(1), (2), (3), Список [(1) (2)]]
Я хочу получить список [(1), (2), (3), (4), (5)]
нажмите список Редуктор ниже
...pender({
type: PATCH_IMG,
onSuccess: (state, action) => {
const images = List(state.getIn(['orderById', 'images']))
return state.setIn(['orderById', 'images'], images.push(List(action.payload.data)))
}
вернуть payload.data со списком файлов ниже (server-Nodejs)
router.patch('/img/:id', upload.array('images', 10), async(req, res) => {
let fileList = [];
for(let i = 0; i < req.files.length; i++) {
fileList.push(`/img/${req.files[i].filename}`)
}
const order = await Order.findByIdAndUpdate(
req.params.id,
{
$push: {"images": fileList}
}
)
await res.send(fileList);
})
Это скриншот перед выполнением редьюсера (ссылка ниже).
введите описание изображения здесь
Это скриншот после выполнения редьюсера (ссылка ниже).
@DarknessZX О боже, это работа. Идеально. Спасибо!
@DarknessZX Если вы опубликуете ответ, я приму ваш ответ.



Потому что вы нажимаете массив на массив.
В вашем случае вы должны использовать concat для объединения массива
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat
Например:
images.concat(List(action.payload.data))
Попробуйте использовать
concatdeveloper.mozilla.org/en-US/docs/Web/JavaScript/Reference/…