回答編集履歴
2
a
answer
CHANGED
@@ -78,4 +78,32 @@
|
|
78
78
|
|
79
79
|
で、良いと思います。
|
80
80
|
|
81
|
-
ただ、`this.props.messages`が`undefined`だとエラーになるので、そこは、`undefined`であれば、`[]`を`Message`コンポーネントに渡すようにしておくか、`Message`コンポーネントのデフォルトのprops.messagesを`[]`のようにしておくかしておく必要はあるとおもいます。
|
81
|
+
ただ、`this.props.messages`が`undefined`だとエラーになるので、そこは、`undefined`であれば、`[]`を`Message`コンポーネントに渡すようにしておくか、`Message`コンポーネントのデフォルトのprops.messagesを`[]`のようにしておくかしておく必要はあるとおもいます。
|
82
|
+
|
83
|
+
# 3
|
84
|
+
|
85
|
+
> ListViewにするのが間違っているのでしょうか?
|
86
|
+
|
87
|
+
「修正依頼欄」にも記載しましたが、ListViewは使わないでOKだと思います。
|
88
|
+
|
89
|
+
利用している`GiftedChat`ライブラリ自体が内部で`ListView`を使っています。
|
90
|
+
|
91
|
+
[https://github.com/FaridSafi/react-native-gifted-chat/blob/master/src/MessageContainer.js#L152](https://github.com/FaridSafi/react-native-gifted-chat/blob/master/src/MessageContainer.js#L152)
|
92
|
+
|
93
|
+
```
|
94
|
+
createDataSource({ messages }) {
|
95
|
+
const ds = new ListView.DataSource({
|
96
|
+
rowHasChanged: (r1, r2) => r1 !== r2
|
97
|
+
});
|
98
|
+
|
99
|
+
this.dataSource = ds.cloneWithRows(messages);
|
100
|
+
console.log('messages', messages);
|
101
|
+
|
102
|
+
// messagesを置く場所を間違えている?
|
103
|
+
this.setState({ messages });
|
104
|
+
}
|
105
|
+
```
|
106
|
+
|
107
|
+
なので、この辺の`datasource`周りのことも`GiftedChat`ライブラリの内部で行われているので、この辺のコードも削除で問題ないと思います。
|
108
|
+
|
109
|
+
[https://github.com/FaridSafi/react-native-gifted-chat/blob/master/src/MessageContainer.js#L30](https://github.com/FaridSafi/react-native-gifted-chat/blob/master/src/MessageContainer.js#L30)
|
1
a
answer
CHANGED
@@ -48,7 +48,7 @@
|
|
48
48
|
|
49
49
|
[https://github.com/FaridSafi/react-native-gifted-chat/blob/master/src/MessageContainer.js#L62](https://github.com/FaridSafi/react-native-gifted-chat/blob/master/src/MessageContainer.js#L62)
|
50
50
|
|
51
|
-
|
51
|
+
ということで、使用モジュールのソースコードをみてみると、やはり、`_id`キーがメッセージオブジェクト内に存在していることを前提にしているようなので、`_id`が必要になってくると思います。
|
52
52
|
|
53
53
|
|
54
54
|
# 2
|