Javascript 组件将安装can';找不到变量
我已经创建了一个react native CLI项目。现在,每当用户来到我的屏幕时,我都想更新一些值。在我的主屏幕中,我有三个顶部选项卡。当用户单击第三个选项卡时。我每次都需要更新一些值 对于这三个选项卡,我使用的是:Javascript 组件将安装can';找不到变量,javascript,firebase,react-native,visual-studio-code,google-cloud-firestore,Javascript,Firebase,React Native,Visual Studio Code,Google Cloud Firestore,我已经创建了一个react native CLI项目。现在,每当用户来到我的屏幕时,我都想更新一些值。在我的主屏幕中,我有三个顶部选项卡。当用户单击第三个选项卡时。我每次都需要更新一些值 对于这三个选项卡,我使用的是:ScrollableTabView import ScrollableTabView, { DefaultTabBar } from 'react-native-scrollable-tab-view'; 我每次都使用下面的代码来更新值。但这只是一次: useEffect(()
ScrollableTabView
import ScrollableTabView, { DefaultTabBar } from 'react-native-scrollable-tab-view';
我每次都使用下面的代码来更新值。但这只是一次:
useEffect(() => {
alert('i called');
})
然后我试着:
import React, { useEffect, Component } from 'react';
componentWillMount( () => {
alert('called ');
})
但是我得到了一个错误,比如变量组件willmount
我怎样才能解决这个问题?请帮忙
谢谢。您似乎正在使用新的React Native方式,只使用挂钩和功能组件 不可能再使用reacts生命周期方法了-您必须编写自己的组件willmount代码。看一看文档,或者看一下这个答案:
~laded您似乎正在使用新的React原生方式,只使用挂钩和功能组件 不可能再使用reacts生命周期方法了-您必须编写自己的组件willmount代码。看一看文档,或者看一下这个答案:
~ladder那么,回到基本反应。声明组件有两种方式:使用基于类的组件或使用您明确使用的功能组件 在React挂钩之前,我们的功能组件中不能有状态,这意味着您不能从基于类的组件中使用生命周期方法。我真的建议你读这本书。相反,我们可以使用钩子来获得相同的行为 现在,
useffect
hook将接收两个参数:第一个是我们将要执行的回调,第二个是将触发该hook的依赖项数组。这意味着钩子将监视数组中变量的变化。由于您没有声明依赖项数组,因此钩子将在每个渲染上执行
那么,到底是什么问题?问题是使用react native scrollable tab view
声明选项卡不会卸载每个选项卡的组件,没有任何变化,这是因为警报日志只记录一次。因为不再有渲染,只有一次
查看文档,您可能正在使用
onChangeTab
方法,在更改选项卡时显然会调用该方法 那么,回到反应基础。声明组件有两种方式:使用基于类的组件或使用您明确使用的功能组件
在React挂钩之前,我们的功能组件中不能有状态,这意味着您不能从基于类的组件中使用生命周期方法。我真的建议你读这本书。相反,我们可以使用钩子来获得相同的行为
现在,useffect
hook将接收两个参数:第一个是我们将要执行的回调,第二个是将触发该hook的依赖项数组。这意味着钩子将监视数组中变量的变化。由于您没有声明依赖项数组,因此钩子将在每个渲染上执行
那么,到底是什么问题?问题是使用react native scrollable tab view
声明选项卡不会卸载每个选项卡的组件,没有任何变化,这是因为警报日志只记录一次。因为不再有渲染,只有一次
查看文档,您可能正在使用
onChangeTab
方法,在更改选项卡时显然会调用该方法 当我进入屏幕时,是否有其他方法每次调用some函数。我听说Didmount将调用一次组件。组件willmount将调用两次。但是,每次进入屏幕时,是否还有其他替代方法可供选择?如果使用较旧的语法,则可以使用所有生命周期函数。。查看文档以了解它们的功能,然后如果您知道需要什么,可以查看如何将其创建为钩子。例如,componentWillMount有助于获得设备宽度或类似值。ComponentDidMount适用于填充屏幕的API调用。当我进入屏幕时,是否有其他方法每次调用some函数。我听说Didmount将调用一次组件。组件willmount将调用两次。但是,每次进入屏幕时,是否还有其他替代方法可供选择?如果使用较旧的语法,则可以使用所有生命周期函数。。查看文档以了解它们的功能,然后如果您知道需要什么,可以查看如何将其创建为钩子。例如,componentWillMount有助于获得设备宽度或类似值。ComponentDidMount适用于填充屏幕的API调用。