当前位置: 首页 > wzjs >正文

php网站留言板模板下载wordpress禁言插件

php网站留言板模板下载,wordpress禁言插件,网站菜单分类怎么做的,物联网设计方案最近遇到一个场景,就是组件渲染的时候去调用接口进行数据回填。这个在vue中很简单,在created生命周期函数中,直接调用接口即可。但是react没有created生命周期,所以在react中我们需要用到useEffect钩子函数。 在 React 函数组件中…

最近遇到一个场景,就是组件渲染的时候去调用接口进行数据回填。这个在vue中很简单,在created生命周期函数中,直接调用接口即可。但是react没有created生命周期,所以在react中我们需要用到useEffect钩子函数。

在 React 函数组件中使用useEffect时,要注意依赖项数组。如果依赖项数组为空 ,则 useEffect只会在组件挂载和卸载时执行;如果依赖项数组中有值,当这些值发生变化时,useEffect会重新执行。

副作用函数的概念:在 React 中,组件的主要职责是根据输入的props和state渲染 UI。但在实际应用中,我们常常需要执行一些与渲染无关的操作,比如数据获取、订阅事件、手动修改 DOM 等,这些操作就被称为副作用 。useEffect允许在函数组件中执行这些副作用操作。

在类组件中可以使用componentDidMount生命周期函数实现相同效果。

useEffect

import React, { useEffect, useState } from 'react';// 模拟接口数据
const mockData = [{id: 1,title: '标题1111',body: 'qqqqqqq'},{id: 2,title: '标题222',body: 'wwwwww'},];// 封装模拟请求方法
const mockFetchData = () => {return new Promise((resolve) => {// 模拟请求耗时 1 秒setTimeout(() => {resolve(mockData);}, 1000);});
};function App() {// 使用 useState 来存储从模拟接口获取的数据const [data, setData] = useState([]);// 使用 useState 来存储加载状态const [isLoading, setIsLoading] = useState(true);// 使用 useState 来存储错误信息const [error, setError] = useState(null);useEffect(() => {const fetchData = async () => {try {// 调用模拟请求方法const response = await mockFetchData();// 将模拟响应数据存储到 state 中setData(response);} catch (err) {// 如果模拟请求出错,将错误信息存储到 state 中setError(err.message);} finally {// 请求完成后,将加载状态设置为 falsesetIsLoading(false);}};// 调用 fetchData 函数fetchData();}, []);if (isLoading) {// 如果正在加载,显示加载提示return <div>Loading...</div>;}if (error) {// 如果出现错误,显示错误信息return <div>Error: {error}</div>;}return (<div className="App">{/* 遍历渲染数据 */}<ul>{data.map(post => (<li key={post.id}><h2>{post.title}</h2><p>{post.body}</p></li>))}</ul></div>);
}export default App;

运行效果:

componentDidMount生命周期函数

 

import React from 'react';// 模拟接口数据
const mockData = [{id: 1,title: '类组件',body: 'qqqqqqq'},{id: 2,title: '使用componentDidMount生命周期函数在组件渲染的时候获取数据',body: 'wwwwww'},
];// 封装模拟请求方法
const mockFetchData = () => {return new Promise((resolve) => {// 模拟请求耗时 1 秒setTimeout(() => {resolve(mockData);}, 1000);});
};class App extends React.Component {// 类组件在构造函数中初始化数据constructor(props) {super(props);// 初始化状态this.state = {data: [],isLoading: true,error: null};}
// 该方法在组件挂载到 DOM 后立即调用,在这个方法里调用 fetchData 函数来获取数据,
// 这类似于函数组件中 useEffect 传入空依赖数组的情况componentDidMount() {// 在组件挂载后调用数据获取函数this.fetchData();}fetchData = async () => {try {// 调用模拟请求方法const response = await mockFetchData();// 将模拟响应数据存储到 state 中this.setState({ data: response });} catch (err) {// 如果模拟请求出错,将错误信息存储到 state 中this.setState({ error: err.message });} finally {// 请求完成后,将加载状态设置为 falsethis.setState({ isLoading: false });}}render() {const { data, isLoading, error } = this.state;if (isLoading) {// 如果正在加载,显示加载提示return <div>Loading...</div>;}if (error) {// 如果出现错误,显示错误信息return <div>Error: {error}</div>;}return (<div className="App"><ul>{/* 遍历渲染数据 */}{data.map(post => (<li key={post.id}><h2>{post.title}</h2><p>{post.body}</p></li>))}</ul></div>);}
}export default App;

end 

如有误,不足欢迎指正补充。

http://www.dtcms.com/wzjs/543328.html

相关文章:

  • 做品管圈网站网站网站弹出窗口去掉
  • 俄罗斯做货代的网站济南做网站公司电话
  • 广州有哪些知名企业网站维护与优化教程
  • 朝阳网站设计icp备案 网站名称
  • 制作免费制作个人网站怎么做wordpress重新安装博客怎么搬家
  • 厦门网站建设维护天津电力建设公司招标网站
  • 做网站哪家服务器好1g内存vps 开电影网站
  • 佛山网站建设公司哪家最好网站设计人员
  • 沧州网站建设网海申外贸网站建设方案
  • 360网站建设的目标是什么河南网站制作公司哪家好
  • cnzz站长统计工具企业网站网址
  • 鹰潭网站建设公司租用大型服务器多少钱
  • php快速建站系统做国外服务器网站
  • 营销型网站设计价格钦州的网站建设
  • 苏州资讯网站建设上海市建设协会考试网站
  • 北京房产网站建设怎样做 云知梦 网站
  • 怎样做QQ网站呢建站 网站程序
  • 免费建站软件排行榜电子商务网站建设的过程
  • 织梦网站手机版端设置2024年楼市大局已定
  • 漂亮的博客网站模板广州装饰公司
  • 自己做自媒体在哪个网站比较好网络推广运营优化
  • 中国建设人才信息网站网站开发asp软件有哪些
  • 平台制作网站公司哪家好家装要去哪个公司装修
  • 手机网站被禁止访问怎么打开备案网站内容说明
  • 有域名了怎么做网站自己做视频网站
  • 网站的链接结构怎么做网站建设考级
  • 网站浮动窗口代码怎样使用二维码做网站
  • 如何做国际网站wordpress成品站源码
  • 牛商网做网站多少钱台安人才网
  • 广东外贸网站推广设计素材网站模板