【问题标题】:React Native: Lodash MapReact Native:Lodash 地图
【发布时间】:2019-04-23 13:04:10
【问题描述】:

我是 react native 的新手,我想让数据功能进入视图。

我的函数是这样的

renderTest = () => {
        <FlatList
            onEndReached={0}
            onEndReached={() => this.handleEnd()}
            >
            {_.map(this.state.leads, (leads, index) => {
                return (
                <Text key={index}>{leads.full_name}</Text>
            )
            })}
        </FlatList>
    }

和我的View传递函数的值

<View style={{flexDirection: 'row'}}>
   {this.renderTest()}                      
</View>

我不知道有什么问题,我只想渲染值。我希望有人能帮助我。

编辑

【问题讨论】:

    标签: react-native lodash


    【解决方案1】:

    既然你已经在react world,你可以简单地使用Array.map

    renderTest = () => {
        <FlatList onEndReached={() => this.handleEnd()}>
           {this.state.leads.map((lead, index) => {
              return (<Text key={index}>{lead.full_name}</Text>)
           })}
        </FlatList>
    }
    

    只要this.state.leads 是一个数组。

    但底线是这里不需要lodash

    【讨论】:

    • 我收到错误 TypeError: this.renderTest is not a function :( btw 感谢您的欢迎 :)
    • 嗯,你只在你的问题中提供了:)。要修复该错误,您需要发布更多代码以查看为什么该函数不是 found
    • 我编辑了我的问题 :) 我确定我的潜在客户是一个数组 :)
    【解决方案2】:

    从您对 Akrion 答案的评论中可以看出,我猜您尚未在组件内定义 renderTest 函数。另一种可能性是您使用的是无状态组件,在这种情况下您无法访问this

    【讨论】:

      【解决方案3】:

      我只是不确定您是否可以定义这样的 FlatList。我的意思是,我认为您缺少函数的return,您必须通过这种方式将属性data 传递给FlatList

      renderTest = () => {
        return (
          <FlatList
              onEndReached={0}
              onEndReached={() => this.handleEnd()}
              data={this.state.leads}
              renderItem={(lead, index) => <Text key={index}>{lead.full_name}</Text>}
          />
        )
      }
      

      让我知道这是否可以解决您的问题:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-09-08
        • 2019-01-31
        • 1970-01-01
        • 2023-02-05
        • 1970-01-01
        • 2021-06-01
        • 1970-01-01
        相关资源
        最近更新 更多