当前位置: 首页 > 知识库问答 >
问题:

如何在ReactJS中声明功能组件内部无状态常量

寿翰飞
2023-03-14

我有这个组件, ;:

在内部,我有一个“const”变量(与“let”的问题相同)

const myPage = () => {
  const [myVar, setMyVar] = useState(true)
  ....
}

但是这样,当我将设置“myvar”❌时,我就不需要重新渲染组件了

然后,我写:

const myComponent = () => {
  const myVar = true
  ....
}

当然,myvar会在组件呈现❌时重新初始化(示例中,当其他状态发生变化时)

然后,我写:

const myVar = true
const myComponent = () => {
  ....
}

这样,就可以了,ℹ,但是myvar是全局的:当我返回此路由时,它不会被重新初始化

在组件内部声明变量(而不是状态)的任何方法。

共有1个答案

杜砚
2023-03-14

React文档建议使用useref来保留任意可变值。所以,你可以这样做:

// set ref
const myValRef = React.useRef(true);

// ...

// update ref

myValRef.current = false;
 类似资料:
  • 问题内容: 我正在尝试将在这里找到的这个很棒的动画转换为React可重用的组件。看来此组件将需要一个父组件作为画布,而许多子组件则为。 出于性能方面的考虑,将它们变成无状态组件可能会更好,因为会有很多这样的组件。我不熟悉制作无状态组件,并且想知道应该在哪里定义和中定义的和函数。 无状态组件的功能是在组件内部还是外部?换句话说,以下哪个更好? 1: 2: 每种都有什么优点/缺点,其中哪一种对我的特定

  • 在不使用类的情况下,如何在react的功能性无状态组件中使用PropTypes?

  • 我目前有一个类组件和一个函数组件在我的主组件 以下是的代码段: 类组件 功能部件 因此,我想做的是通过按钮的onClick操作,从功能组件更改类组件的状态。我怎样才能完成任务?

  • 问题内容: 以下是两个 几乎 完成相同任务的React组件。一个是功能;另一个是功能。另一个是一类。每个组件都有一个带有异步侦听器的组件,该侦听器会在更改时进行更新。我需要能够像在经典组件中那样在功能组件中进行访问。 万一有一个以上的情况,不应在全球范围内。 不能包含在功能范围内,因为每次渲染时都会重新初始化。也不应处于状态,因为更改时组件无需呈现。 不会出现此问题,因为它在组件的整个生命周期中都

  • 我正在将父组件的状态从父组件传递到子组件。在子组件中,我有一个不同的状态。我正在对子组件的状态执行一些操作,并且结果必须添加到父组件的状态。因此,在我的父组件中,我编写了一个回调函数,该函数将更新父组件的状态。代码为: 因此,这个函数随后作为道具传递给子组件: 然后在我的子组件中,我试图实现回调函数为: 但这并没有达到预期效果。这是正确的方法吗?有人能帮我吗? 我试图通过实现这里提供的解决方案来解

  • 问题内容: 结合使用TypeScript和React,我们不再需要扩展,以使编译器知道所有react组件prop都可以有子代: 但是,无状态功能组件似乎并非如此: 发出编译错误: 错误:(102、17)TS2339:类型“ MyProps”上不存在属性“子级”。 我猜这是因为编译器实际上没有办法知道在props参数中将提供香草函数。 所以问题是我们应该如何在TypeScript的无状态功能组件中使

  • 使用带有React的TypeScript,我们不再需要扩展,以便编译器知道所有React组件Props都可以有子级: 然而,无状态功能组件似乎不是这样: 发出编译错误: 错误:(102,17)TS2339:类型“MyProps”上不存在属性“children”。 我想这是因为编译器真的无法知道在props参数中会给出

  • 问题内容: 我们总是写: 题: 是在类中声明 常量 的唯一方法吗? 如果我改写的话,它还是一个 常量 还是一个 实例字段 ? 什么是 实例变量 ? 实例变量 和 实例字段有 什么区别? 问题答案: 您可以在Java 5及更高版本中使用一种类型,以达到您描述的目的。这是类型安全的。 A是一个实例变量。(如果它具有static修饰符,则它将成为一个静态变量。)常量仅表示该值不变。 实例变量是属于对象而