TypeError: el.getNode is not a function
TypeError: el.getNode is not a function
我使用 rn community upgrade helper 将 react-native 版本从 v0.61.0 升级到 0.65.0
.
在 package.json 文件中进行更改后,运行安装 npm,清理 android 中的构建文件夹,构建成功,应用程序启动时出现错误屏幕。
TypeError: el.getNode is not a function
This error is located at:
in AndroidHorizontalScrollView (at ScrollView.js:1784)
in ScrollView (at ScrollView.js:1810)
in ScrollView (at AnimatedScrollView.js:22)
in Unknown (at createAnimatedComponent.js:243)
in AnimatedComponent (at createAnimatedComponent.js:296)
in AnimatedComponentWrapper (at TabBar.js:382)
in RCTView (at View.js:32)
in View (at TabBar.js:381)
in RCTView (at View.js:32)
in View (at createAnimatedComponent.js:243)
in AnimatedComponent (at createAnimatedComponent.js:296)
in AnimatedComponentWrapper (at TabBar.js:366)
in TabBar (at MaterialTopTabBar.js:145)
in TabBarTop (at createMaterialTopTabNavigator.js:101)
in RCTView (at View.js:32)
in View (at TabView.js:190)
in TabView (at createMaterialTopTabNavigator.js:247)
in MaterialTabView (at createTabNavigator.js:197)
in NavigationView (at createNavigator.js:80)
in Navigator (at RootTabs.js:218)
in RootTabs (at SceneView.js:9)
in SceneView (at DrawerView.js:188)
in RCTView (at View.js:32)
in View (at ResourceSavingScene.js:36)
我也已将 react-navigation 从 3.x 更新为 4.x.Still 没有成功。
我不明白这段代码指的是什么。
TypeError: el.getNode is not a function
我现在正在努力 运行 android。未在 ios 版本上测试。
我发现我在 application.Go 中使用 react-navigation-tabs 包到 node_modules > react-navigation-tabs > node_modules > react-navigation-tab-view > 源 > TabBar.js.
在此 TabBar.js 文件中,您将在第 412 行找到 ref={el => (this._scrollView = el && el.getNode())}
。
如果您在第 147 行检查 this._scrollView 分配给 _scrollView: ?ScrollView;
,它是从 react-native 的 ScrollView 导入的。
由于 ScrollView 不包含任何 el 或 el.getNode() 方法,打包器抛出错误显示 el.getNode() 未定义。
要解决此问题,请执行以下步骤:
- 使用
Import {Animated} from react-native;
- 在第147行,将故障代码更改为
_scrollView: Animated.ScrollView;
- 在第 412 行,将错误代码更改为
(this.scrollView = el && (el.getNode ? el.getNode() : el))
- 清理并重建您的项目,现在应该可以正常工作了。
我能够按照此 link
解决此错误
遇到这个问题的可以参考这个link.
一般情况下您也可以避免调用 getNode()。它也有效。
例如我有:
_scrollView.current.getNode().scrollTo({x: x, y: 0, animated: true})
然后将其更改为:
_scrollView.current.scrollTo({x: x, y: 0, animated: true})
.
问题已解决,错误消失了。显然,创作者不愿意纠正这个问题。
看看这个
https://github.com/ptomasroos/react-native-scrollable-tab-view/issues/1138
我使用 rn community upgrade helper 将 react-native 版本从 v0.61.0 升级到 0.65.0 .
在 package.json 文件中进行更改后,运行安装 npm,清理 android 中的构建文件夹,构建成功,应用程序启动时出现错误屏幕。
TypeError: el.getNode is not a function
This error is located at:
in AndroidHorizontalScrollView (at ScrollView.js:1784)
in ScrollView (at ScrollView.js:1810)
in ScrollView (at AnimatedScrollView.js:22)
in Unknown (at createAnimatedComponent.js:243)
in AnimatedComponent (at createAnimatedComponent.js:296)
in AnimatedComponentWrapper (at TabBar.js:382)
in RCTView (at View.js:32)
in View (at TabBar.js:381)
in RCTView (at View.js:32)
in View (at createAnimatedComponent.js:243)
in AnimatedComponent (at createAnimatedComponent.js:296)
in AnimatedComponentWrapper (at TabBar.js:366)
in TabBar (at MaterialTopTabBar.js:145)
in TabBarTop (at createMaterialTopTabNavigator.js:101)
in RCTView (at View.js:32)
in View (at TabView.js:190)
in TabView (at createMaterialTopTabNavigator.js:247)
in MaterialTabView (at createTabNavigator.js:197)
in NavigationView (at createNavigator.js:80)
in Navigator (at RootTabs.js:218)
in RootTabs (at SceneView.js:9)
in SceneView (at DrawerView.js:188)
in RCTView (at View.js:32)
in View (at ResourceSavingScene.js:36)
我也已将 react-navigation 从 3.x 更新为 4.x.Still 没有成功。
我不明白这段代码指的是什么。
TypeError: el.getNode is not a function
我现在正在努力 运行 android。未在 ios 版本上测试。
我发现我在 application.Go 中使用 react-navigation-tabs 包到 node_modules > react-navigation-tabs > node_modules > react-navigation-tab-view > 源 > TabBar.js.
在此 TabBar.js 文件中,您将在第 412 行找到 ref={el => (this._scrollView = el && el.getNode())}
。
如果您在第 147 行检查 this._scrollView 分配给 _scrollView: ?ScrollView;
,它是从 react-native 的 ScrollView 导入的。
由于 ScrollView 不包含任何 el 或 el.getNode() 方法,打包器抛出错误显示 el.getNode() 未定义。
要解决此问题,请执行以下步骤:
- 使用
Import {Animated} from react-native;
- 在第147行,将故障代码更改为
_scrollView: Animated.ScrollView;
- 在第 412 行,将错误代码更改为
(this.scrollView = el && (el.getNode ? el.getNode() : el))
- 清理并重建您的项目,现在应该可以正常工作了。
我能够按照此 link
解决此错误遇到这个问题的可以参考这个link.
一般情况下您也可以避免调用 getNode()。它也有效。 例如我有:
_scrollView.current.getNode().scrollTo({x: x, y: 0, animated: true})
然后将其更改为:
_scrollView.current.scrollTo({x: x, y: 0, animated: true})
.
问题已解决,错误消失了。显然,创作者不愿意纠正这个问题。
看看这个 https://github.com/ptomasroos/react-native-scrollable-tab-view/issues/1138