【问题标题】:which part of react-native code re-renders every change?react-native 代码的哪一部分会重新渲染每个更改?
【发布时间】:2020-07-07 14:32:13
【问题描述】:

我是 react-native 的新手,我想知道它的运行流程。例如:

  import React, { useState } from 'react';

  function Example() {
    const [count, setCount] = useState(0);

    return (
      <View>
          .
          .
          .
          .
      </View>
    );
  }

return 语句之前的部分是运行一次还是每次渲染?
还是每次调用组件时?
如果这个组件在另一个组件的 return 语句中被调用怎么办,每次渲染都会重置状态吗?

【问题讨论】:

    标签: javascript reactjs react-native rendering jsx


    【解决方案1】:

    return 外的部分在我们调用组件时只会执行一次。

    如果您希望代码多次运行,您可以使用 useEffect,它会根据您的需要运行您的代码,因为您将数组中的依赖变量作为 useEffect 的第二个参数传递。是的,因为您调用任何组件的次数将为该组件创建新状态,如果调用它现在将影响该组件的先前状态。我想我已经回答了你的疑问,这是我的简短回答,如果我留下了一些东西,请告诉我。

    【讨论】:

    • 感谢您的帮助。当我使用领域时,我在 return() 之前调用了一个插入,我看到一个错误,即插入运行了很多次,这就是为什么我很困惑。我想我会回顾一下逻辑。 :)
    【解决方案2】:

    有两种不同类型的组件:

    有状态(类)组件和无状态(功能)组件(您正在使用的那个)。

    类组件只会在每次状态更改时执行render() 方法,而函数将在每次更改其内部状态时执行所有代码。 您必须知道哪种方法最适合您的用例

    【讨论】:

      猜你喜欢
      • 2017-05-28
      • 1970-01-01
      • 1970-01-01
      • 2018-12-27
      • 2020-03-10
      • 1970-01-01
      • 2018-04-10
      • 2018-12-12
      • 1970-01-01
      相关资源
      最近更新 更多