質問するログイン新規登録

回答編集履歴

2

a

2018/04/21 03:07

投稿

HayatoKamono
HayatoKamono

スコア2415

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

2018/04/21 03:07

投稿

HayatoKamono
HayatoKamono

スコア2415

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
- のソースをみてみると、やはり、`_id`キーがメッセージオブジェクト内に存在していることを前提にしているようなので、`_id`が必要になってくると思います。
51
+ ということで、使用モジュのソースコードをみてみると、やはり、`_id`キーがメッセージオブジェクト内に存在していることを前提にしているようなので、`_id`が必要になってくると思います。
52
52
 
53
53
 
54
54
  # 2