refreshControl 在 react-native 应用程序中给出“未定义不是函数......”

Posted

技术标签:

【中文标题】refreshControl 在 react-native 应用程序中给出“未定义不是函数......”【英文标题】:refreshControl gives "undefined is not a function..." in react-native app 【发布时间】:2017-07-06 08:39:57 【问题描述】:

我正在尝试在 ScrollView 中添加刷新功能,但在尝试刷新时出现此错误:

undefined is not a function (evaluating '(0,_reactNative.fetchData)()')

我已经效仿in the documentation

这是我的代码

class Schedule extends Component 

 constructor(props) 
    super(props);
    this.state = 
      refreshing: false
    ;
  

  _onRefresh() 
    this.setState(refreshing: true);
    fetchData().then(() => 
      this.setState(refreshing: false);
    );
  
 render() 
  return (
<View>
 <ScrollView
      style=backgroundColor: "white" scrollEnabled=true horizontal=false
      refreshControl=
        <RefreshControl
          refreshing=this.state.refreshing
          onRefresh=this._onRefresh.bind(this)
        />
      
    >
   <View>
    //...Content I'm trying to refresh
   </View>

</View>
</ScrollView>
  )
 

我无法想象代码本身有什么问题,因为它直接取自示例。导入也不应该有任何问题

import View, ScrollView, RefreshControl, fetchData  from 'react-native';

【问题讨论】:

我不认为 fetchData 是从 'react-native' 导出的,您需要在组件中定义自己的 'fetchData' 函数。 您的标签不匹配:&lt;View&gt; &lt;ScrollView&gt; &lt;/View&gt; &lt;/ScrollView&gt; 我确定我这样做了 :) 在发布之前删除了一堆东西,所以事情变得混乱了! 【参考方案1】:

您必须提供不在react-native 模块中的fetchData 函数。

【讨论】:

知道如何创建一个获取本地视图的 fetchData 函数吗? 名称 fetchDate 表明它从 api 获取数据,当您收到此数据时,您将使用它更新您的状态。

以上是关于refreshControl 在 react-native 应用程序中给出“未定义不是函数......”的主要内容,如果未能解决你的问题,请参考以下文章

React Native refreshControl 在下拉之前显示

在tableview中使用refreshcontrol时,如何知道用户是不是还在按住tableview?

ReactNative进阶(十七):RefreshControl组件实现刷新效果

ReactNative进阶(十七):RefreshControl组件实现刷新效果

RefreshControl 释放时不流畅

在 UITableViewController 的 refreshControl 上缓慢向下滑动刷新会导致视图跳下