реагировать на родной: как добавить два массива объектов - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть некоторый массив объектов внутри this.state.messagestable, как этот

[{"message_id":"186", "message":"this is some message"},{"message_id":"185", "message":"i love bacon"},{"message_id":"184", "message":"music is magic"}]

Я получил сообщение из моего веб-сокета в переменную массива feed_msg, которая выглядит следующим образом

[{"message_id":"187", "message":"becareful what u wish for"}]

Как добавить сообщение из feed_msg в this.state.messagestable, чтобы оно отображалось в моем компоненте. Небольшое напоминание о том, что feed_msg не является массивом состояний

, вот что я уже пробовал

this.setState({ messagestable: [...this.state.messagestable, feed_msg] })

Я хочу, чтобы this.state.messagestable наконец выглядел какэто, но я не получаю никаких изменений в this.state.messagestable

 [{"message_id":"187", "message":"becareful what u wish for"},{"message_id":"186", "message":"this is some message"},{"message_id":"185", "message":"i love bacon"},{"message_id":"184", "message":"music is magic"}]

1 Ответ

0 голосов
/ 30 сентября 2019

Есть много разных способов, включая concat, unshift и правильно используемых ...

const a = [{"message_id":"186", "message":"this is some message"},{"message_id":"185", "message":"i love bacon"},{"message_id":"184", "message":"music is magic"}];

const b = [{"message_id":"187", "message":"becareful what u wish for"}];

// option 1
console.log(b.concat(a));
// option 2
console.log([...b, ...a]);
// option 3
a.unshift(...b)
console.log(a);
...