javascript - 为什么我的反应组件不断重新渲染?
问题描述
我正在尝试将一个 tockify 日历嵌入到一个组件中,在我正在构建的一个反应项目中。我应该注意我正在使用一个名为 react-script-tag 的库,它允许我<script/>
在我的组件中使用标签。无论如何,日历正在渲染 - 但随后会继续重新渲染,就好像它卡在某种循环中一样。我觉得我需要实现某种生命周期方法。有什么建议么?代码如下:
import React from 'react'
import Nav from './Nav'
import ScriptTag from 'react-script-tag'
class Events extends React.Component {
render() {
return (
<div>
<Nav/>
<div data-tockify-component="calendar" data-tockify-calendar="hzevents2"></div>
<ScriptTag isHydrating={false} data-cfasync="false" data-tockify-script="embed" src="https://public.tockify.com/browser/embed.js"></ScriptTag>
</div>
)
}
}
export default Events
解决方案
“react-script-tag”的文档说
建议将 Script 标签放置在应用程序的整个生命周期中仅呈现一次的组件中。否则,一个新的
每次再次安装组件时都会附加标签。有计划防止这种情况发生。
您可能希望使用纯组件来防止重新渲染。
编辑:无论我的回答如何,您都应该显示其余代码以便能够检测到问题。
推荐阅读
- firebase - Xamarin Firebase iOS Analytics 抛出 AOT MTOUCH ERROR MT3001 - Firebase.Analytics.dll
- checkbox - 如何在 Flutter 中创建圆形 CheckBox?或者改变 CheckBox 的样式,比如 Flutter 中选中的图片?
- java - 什么时候可以使用枚举的 name()
- ios - 无法将视图放在导航栏上方
- sql - SQL 初学者问题:where exists select 1 出现意外行为
- javascript - 使用 JQuery 单击单选按钮后附加 DIV 仅使用父数据
- php - php postgresql concat 带文件的超链接
- java - 将属性复制到多模块项目中的模块
- sml - 在 SML/NJ 中定义(所有)斐波那契数列时出错
- batch-file - Check if dynamic variable is empty - Batch