Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在第一次呈现之前在React函数组件中运行代码,例如在类组件的构造函数中?

如何在第一次呈现之前在React函数组件中运行代码,例如在类组件的构造函数中?
EN

Stack Overflow用户
提问于 2021-06-19 11:42:09
回答 1查看 932关注 0票数 0

我有一段代码在Reactinative目前运行在应用程序启动。在类组件构造函数中。它使用React导航状态检查一系列条件,然后导航到某个地方。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class MyComponent<Props> {
  constructor(props: Props) {
    super(props);
    // Some initialization code
  }
}

我将其重构为使用useEffectuseLayoutEffect的钩子,但是现在的代码运行似乎只发生在初始呈现之后,导致导航发生前另一个屏幕的闪烁。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function MyComponent() {
  useEffect(() => {
    // Do some stuff
  }, []);  

  return null;
}

是否与在函数组件中呈现之前运行的类构造函数等效?

EN

回答 1

Stack Overflow用户

发布于 2021-06-19 12:39:03

啊,我想出了一个解决办法。

以前,我是这样写代码的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function MyComponent() {
  useEffect(() => {
    // Do some stuff
  }, []);  

  return null;
}

结果是,等效的只是在函数本身中运行代码,因为它在实际的呈现到屏幕之前运行。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function MyComponent() {
  const initializedRef = useRef(false);
  if (!initializedRef.current) {
    initializedRef.current = true;
    // Do some stuff
  }

  return null;
}

这似乎与我以前的运行构造函数代码一样快。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68050183

复制
相关文章
react 纯函数组件_react类组件
定义:一个函数的返回结果只依赖于它的参数,并且在执行的过程中没有副作用,我们就把该函数称作纯函数。
全栈程序员站长
2022/11/17
1.6K0
react 纯函数组件_react类组件
【多角度】react中类组件与函数组件区别
类组件内部可以定义并维护 state, 函数组件为无状态组件(可以通过hooks实现)
用户9914333
2022/12/14
1.7K0
【多角度】react中类组件与函数组件区别
React 函数组件和类组件的区别
两者最明显的不同就是在语法上: 函数组件是一个纯函数,它接收一个 props 对象返回一个 react 元素; 类组件需要去继承 React.Component 并且创建 render 函数返回 react 元素,虽然实现的效果相同,但需要更多的代码。
Leophen
2021/07/08
7.5K0
react 函数组件中 props应用
在 React 函数组件中,可以通过 props 对象来接收传递给组件的属性(props)。以下是一些常见的 props:
程序员王天
2023/10/18
1950
React :(类、函数)子组件调用父组件的方法
子组件中使用传过来的cancelCreateFile【this.props.cancelCreateFile】,就可以在子组件中调用
江一铭
2022/09/23
5.3K0
React :(类、函数)子组件调用父组件的方法
React - 组件:函数组件
1. 组件名字首字母一定是大写的 2. 返回一个jsx 3. jsx依赖React,所以组件内部需要引入React 4. 组件传参 a. 传递. <Component list={ arrData }><Component> b. 接收. function Component( props ){...} c. 使用. const { list } = props,list就是参数数据 5. 缺点:【无状态组件】只能实现很简单的视图展示功能,没有自己的内容数据、没有状态,没有逻辑处理,【没有this】,【没有生命周期】。 6. 16.7以后版本的react有状态和钩子函数提供使用。不过版本过新不推荐用 内部不用render函数,会自动把return返回结果当做render返回结果【见类组件的必须要求】
xing.org1^
2019/11/26
1.8K0
React - 组件:函数组件
React Hooks 源码解析(1):类组件、函数组件、纯组件
React 源码版本: v16.9.0 源码注释笔记:airingursb/react 1 Class Component VS. Functional Component 根据 React 官网,React 中的组件可分为函数式组件(Functional Component)与类组件(Class Component)。 1.1 Class Component 这是一个我们熟悉的类组件: // Class Componmentclass Welcome extends React.Component {
QQ音乐前端团队
2019/10/21
2.1K0
react中类组件传值,函数组件传值:父子组件传值、非父子组件传值[通俗易懂]
函数组件中我们一般情况下使用useEffect实现数据的请求 // useEffect Hook 看做 componentDidMount,componentDidUpdate 和 componentWillUnmount (加载,更新,卸载)这三个函数的组合。 语法格式: useEffect(()=>{ },[])
全栈程序员站长
2022/08/30
6.3K0
React中父组件执行子组件的函数 使用class + onRef写法
在React中,父组件执行子组件的函数的写法如下 父组件中 添加函数 onRef = (ref) => { this.child = ref } 在使用子组件时 <ChildComponet onRef={this.onRef} /> onRef是固定的用法, 在子组件里 componentDidMount(){ this.props.onRef(this) } 父组件执行子组件的函数 submitFun = () => { this.child.onReset(); }
拿我格子衫来
2022/01/24
3.6K0
React 函数组件
本文最后更新于 94 天前,其中的信息可能已经有所发展或是发生改变。 React 函数组件 1、定义方式 React 函数组件是指使用函数方法定义的组件。 定义方式:与函数的定义方式相同,需要将内容 return 出来,需要注意的是最外层只有一个标签或者使用<></>(Fragment 标签)包裹起来,方法写在 return 前面。 const App = () => { const getData = () => { return [1, 2, 3, 4, 5]; }; ret
likepoems
2023/03/04
1.2K0
React函数式组件
React函数式组件是一种用函数定义的组件形式,它是React中定义UI的一种简洁方式。函数式组件基于纯函数的概念,接收props作为参数,并返回要渲染的内容。
堕落飞鸟
2023/05/19
6610
「React进阶」我在函数组件中可以随便写 —— 最通俗异步组件原理
接下来的几篇文章将围绕一些‘猎奇’场景,从原理颠覆对 React 的认识。每一个场景下背后都透漏出 React 原理,
用户6835371
2021/10/18
3.8K0
「React进阶」我在函数组件中可以随便写 —— 最通俗异步组件原理
【Flutter】Image 组件 ( Image 组件简介 | Image 构造函数 | Image.network 构造函数 | Image.asset 构造函数 )
Flutter 中用于展示图片的控件是 Image , 类似于 Android 中的 ImageView , iOS 中的 UIImageView ;
韩曙亮
2023/03/29
2K0
React组件设计模式-纯组件,函数组件,高阶组件
如果你想写的组件只包含一个 render 方法,并且不包含 state,那么使用函数组件就会更简单。我们不需要定义一个继承于 React.Component 的类,我们可以定义一个函数,这个函数接收 props 作为参数,然后返回需要渲染的元素。
xiaofeng123aa
2022/10/18
2.2K0
React篇(020)-如何在 React 中创建组件?
答案:有两种可行的方法来创建一个组件: 1. Function Components: 这是创建组件最简单的方式。这些是纯 JavaScript 函数,接受 props 对象作为第一个参数并返回 React 元素:
齐丶先丶森
2022/05/12
2.9K0
React 的类组件和函数组件之间的区别是什么?
语法和写法:类组件是使用类的语法进行定义的,它继承自 React.Component 类,并且需要实现 render() 方法来返回组件的 JSX。函数组件是使用函数的语法进行定义的,它接收一个 props 对象作为参数,并返回组件的 JSX。 示例:类组件
王小婷
2023/10/09
5130
React - 组件:类组件
他有自己的生命周期也有react给他提供的一些内置函数方法。有自己的this和状态。
xing.org1^
2019/12/11
1.9K0
React - 组件:类组件
React-父子组件通讯-函数式组件
在了解父子组件通讯这个知识点的时候,首先要说明清楚一点内容就是什么是父组件什么是子组件,在上一篇 React-组件开篇当中我们在 App.js 类组件当中使用到了其它的一些组件,那么 App 就是父组件,被 App 所使用的就是子组件,了解了什么是父子组件之后,介绍要来介绍一下它们之间该如何进行通讯,也就是传递数据和方法,父组件传递数据给子,子传递给父的这么一个过程就是称之为父子组件的通讯。
杨不易呀
2023/09/30
2650
react 学习(二) 实现类和函数式组件
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom 转为真实 dom 进行挂载。其实函数是组件和类组件也是在这个基础上包裹了一层,一个是调用函数返回虚拟 dom,一个是调用实例的 render 方法,返回虚拟 dom,进而转换为真实 dom,本小节我们了解一下具体的实现原理。
测不准
2022/04/06
2.2K6
react 学习(二) 实现类和函数式组件
解析C#类中的构造函数
彭泽0902
2018/01/04
3.4K0

相似问题

在呈现之前调用React组件的函数

31

主组件构造函数中的React类

30

构造函数和呈现方法在react组件中运行两次。

20

组件在调用构造函数或ngOnInit之前呈现。

20

如何在react js中呈现函数组件之前获取数据

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文