javascript - React Native 列表未填充值

标签 javascript user-interface react-native

我目前正在用 React Native 构建一个列表,但不幸的是它没有填充任何值。列表元素有4个,与数组中的个数一致。但是界面中的项目只是空的。

    render() {
console.log(this.state.friends);
/*logs [
Array [
  Object {
"avatar_url": Alice url,
"id": 1,
"name": "alice",
"selected": false,
  },
  Object {
"avatar_url": Bob url,
"id": 2,
"name": "Bob",
"selected": false,
  },
  Object {
"avatar_url": Charlie url,
"id": 3,
"name": "Charlie",
"selected": false,
  },
  Object {
"avatar_url": Dave url,
"id": 4,
"name": "Dave",
"selected": false,
  },
]]*/
  return (
    <View style={styles.container}>
    <Content>
      <ScrollView>
        <List containerStyle={{marginBottom: 20}}>
          {
            this.state.friends.map((l, i) => {
              return(<ListItem
            roundAvatar
            avatar={{uri: l.avatar_url}}
            key={i}
            onPress={() => {this.clickedFriend(l)}}
            title={l.name}
            rightIcon={<Icon style={{alignSelf: 'center'}} size={25} name={l.selected ? "check-circle-o" : "times-circle-o"}/>}
          />)
        })
          }
          {/* <ListItem
            onPress={() => {this.inviteFriends()}}
            title="Invite Friends"

          /> */}
        </List>
      </ScrollView>
        <View style={styles.container2}>
              <View style={styles.buttonContainer}>
                <Icon.Button name="arrow-right" backgroundColor="#3b5998" onPress={()=>this.send()}>
                  <Text style={{color: "white"}}>Send</Text>
                </Icon.Button>
              </View>
        </View>
    </Content>
    </View>
  );

  }

最佳答案

我猜这是因为 map 函数没有返回任何东西。该映射确实映射了 4 个项目,因此对于 listView 项目,但不返回任何内容。在 map 函数中,尝试将你的内部放入一个 return(/ListItem here/),就像这样。

{
            this.state.friends.map((l, i) => (
              return(<ListItem
                roundAvatar
                avatar={{uri: l.avatar_url}}
                key={i}
                onPress={() => {this.clickedFriend(l)}}
                title={l.name}
                rightIcon={<Icon style={{alignSelf: 'center'}} size={25} name={l.selected ? "check-circle-o" : "times-circle-o"}/>}
              />)
            ))
          }

关于javascript - React Native 列表未填充值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48482258/

相关文章:

javascript - Ajax post 工作一次然后再次工作但不是异步的

css - 使用延迟 CSS 加载时改进 UI

javascript - 单击按钮刷新图表

android - 开发 React Native 应用程序的正确方法是什么

android - react native : Handling multiple numeric inputs

javascript - 为什么有些 npm 包有 es 目录?

javascript - jquery next() 和 setInterval()

javascript - 在固定位置 Div 中水平居中文本

python - tkinter 中的边框未显示

python - 双击时无法打开单个 tkinter 程序。我没有收到错误消息