react js 使用 useEffect 钩子

起因, 目的:

useEffect() , 已经遇见好几次了。 我的理解是,

  1. 页面加载完成之后,会执行这个函数。
  2. ???
写个例子, 请求 api
js 复制代码
import React, { useState, useEffect } from "react";
import "./MyJoke.css";

function MyJoke() {
  const [joke, setJoke] = useState(""); // 用来存储笑话内容

  // 定义一个异步函数来获取笑话
  const generateJoke = async () => {
    const config = {
      headers: {
        Accept: "application/json",
      },
    };

    const res = await fetch("https://icanhazdadjoke.com", config);
    const data = await res.json();
    setJoke(data.joke); // 将 API 获取的笑话内容设置为组件的状态
  };

  // 使用 useEffect 让组件首次加载时自动调用 generateJoke
  useEffect(() => {
    generateJoke(); // 在组件加载时获取笑话
  }, []); // 空依赖数组,确保只在组件挂载时执行

  return (
    <div className="container">
      <h3>Hear me out!</h3>

      <div id="joke" className="joke">
        {joke}
      </div>

      <button id="jokeBtn" className="btn" onClick={generateJoke}>
        New Joke
      </button>
    </div>
  );
}

export default MyJoke;

结论 + todo

其实, 这部分,我还是不熟悉。 还需要再看看。

老哥,支持一下啊。

相关推荐
共享家95275 小时前
搭建 AI 聊天机器人:”我的人生我做主“
前端·javascript·css·python·pycharm·html·状态模式
Halo_tjn7 小时前
基于封装的专项 知识点
java·前端·python·算法
摘星编程7 小时前
OpenHarmony环境下React Native:自定义useTruncate文本截断
javascript·react native·react.js
Duang007_8 小时前
【LeetCodeHot100 超详细Agent启发版本】字母异位词分组 (Group Anagrams)
开发语言·javascript·人工智能·python
2601_949868369 小时前
Flutter for OpenHarmony 电子合同签署App实战 - 主入口实现
开发语言·javascript·flutter
m0_748229999 小时前
Vue2 vs Vue3:核心差异全解析
前端·javascript·vue.js
2601_949593659 小时前
高级进阶React Native 鸿蒙跨平台开发:LinearGradient 背景渐变与主题切换
react native·react.js·harmonyos
C澒10 小时前
前端监控系统的最佳实践
前端·安全·运维开发
xiaoxue..10 小时前
React 手写实现的 KeepAlive 组件
前端·javascript·react.js·面试
摘星编程10 小时前
在OpenHarmony上用React Native:自定义useHighlight关键词高亮
javascript·react native·react.js