Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何强制多次加载的React本机应用程序进行正常日志记录?_Javascript_React Native - Fatal编程技术网

Javascript 如何强制多次加载的React本机应用程序进行正常日志记录?

Javascript 如何强制多次加载的React本机应用程序进行正常日志记录?,javascript,react-native,Javascript,React Native,我正在使用继承的代码库开发react应用程序 在这个组件文件中:index.jsx我有这个导入: import { CLicksAverage } from '../../Components/Averages'; 在index.jsx文件的下面,我有一位: } else if (attribute === 'Clicks') { chart = <ClicksAverage />; 目的 我正在记录事件。在这种情况下,单击“每周”、“每月”和“每年”选项卡。加载

我正在使用继承的代码库开发react应用程序

在这个组件文件中:index.jsx我有这个导入:

import { CLicksAverage } from '../../Components/Averages';
index.jsx文件的下面,我有一位:

} else if (attribute === 'Clicks') {
        chart = <ClicksAverage />;
目的 我正在记录事件。在这种情况下,单击“每周”、“每月”和“每年”选项卡。加载页面时,默认值为“每周”

问题 react应用程序在初始加载时点击ClicksAverage三次。因此,它记录:

   > Weekly
   > Weekly
   > Weekly
在初始加载之后,它的行为与正常情况一样,每次单击都会排列到所记录内容的唯一实例。例如:

> Yearly
> Weekly
> Monthly
> Yearly
> Yearly
> etc...
我尝试过的 我需要强制初始负载每周只记录一次(或者根本不记录)。然后允许用户按正常方式单击“每周”选项卡并记录该事件。我现在所拥有的感觉就像一个傻瓜——一定有更好的办法

对于单击“每周”选项卡时,我执行以下操作:

 if (type === 'Weekly') {

        trackWeeklyClicksTab();  

   } else {
在trackWeeklyClicks中,我有一个在静态类中初始化为零的局部变量loadCount。这是ClicksAverage三次加载的原因。但是我不喜欢它。无论负载计数是多少,代码都应该工作。在这个场景中,我还有一个问题,就是每周点击一次日志(它只记录一次)

trackweeklyckstab(){
如果(this.loadCount<3){
这个。每周循环运行();
此参数为0.loadCount+=1;
}否则{
console.log(“每周单击选项卡”);
}
}
每周一次{
console.log(“每周单击选项卡”);
this.weeklycksrunance=()=>{};
}

欢迎提出建议

你试过
useffect
hook吗?当值发生变化时,应记录
类型

React.useEffect(() => {
  console.log(type)
}, [type])

你试过
useffect
hook吗?当值发生变化时,应记录
类型

React.useEffect(() => {
  console.log(type)
}, [type])

太好了,谢谢。我是个新手,在文档中没有找到这个。非常有用,谢谢。@Peter hooks是一个相对较新的反应功能。你可以找到这些文件。我们已经在很大程度上转向使用带有类组件挂钩的函数组件。我强烈建议做一个关于钩子的教程。太好了,非常感谢。我是个新手,在文档中没有找到这个。非常有用,谢谢。@Peter hooks是一个相对较新的反应功能。你可以找到这些文件。我们已经在很大程度上转向使用带有类组件挂钩的函数组件。我强烈建议做一个关于钩子的教程。
React.useEffect(() => {
  console.log(type)
}, [type])