异步调用传递道具和显示列表

时间:2016-03-15 14:13:54

标签: react-native

我有一个组件,Messages,它进行异步调用以获取一些数据。我有一个MessageList组件来处理列表内容。

消息将dataSource prop传递给MessageList。 MessageList使用

显示dataSource中的所有项目
{this.props.dataSource.map((result, index) =>
     (<MessageListItem key = {index} rowData = {result}></MessageListItem>)
 )}

问题:所有MessageListItem都包含相同的数据。所有18个项目显示为数组中的第一项。

在MessageListItems的getInitialState中,我打印出日志中的prop值,并为每个传递的prop打印出正确的数据。那么为什么getInitialValues看到了正确的数据,但是当它实际呈现组件时,它们都显示为相同的组件?

1 个答案:

答案 0 :(得分:0)

作为有角度的习惯,我正在分配

var self = this

在我的getInitialState中。

显然这会引起某种范围问题。当我删除所有对self的引用并且刚刚使用它时,问题就消失了。我之前没有遇到任何问题,但在这个特殊情况下,它并不正确。所以我想这里的教训是永远使用它?