iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >react怎么更新state
  • 304
分享到

react怎么更新state

2023-07-04 13:07:12 304人浏览 薄情痞子
摘要

本文小编为大家详细介绍“React怎么更新state”,内容详细,步骤清晰,细节处理妥当,希望这篇“react怎么更新state”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。react更新state方法有:1、通

本文小编为大家详细介绍“React怎么更新state”,内容详细,步骤清晰,细节处理妥当,希望这篇“react怎么更新state”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

react更新state方法有:1、通过key变化子组件,代码如“<Children key={this.state.key} a={this.state.a} b={this.state.b} />”;2、利用ref父组件调用子组件函数;3、通过父级给子级传数据,子级只负责渲染。

react中父级props改变,更新子级state的多种方法

子组件:

class Children extends Component {  constructor(props) {     super(props);     this.state = {       a: this.props.a,       b: this.props.b,       treeData: '',       targets: '',     }    }  componentDidMount() {   const { a, b } = this.state   const data = {a,b}   fetch('/Url', {     data   }).then(res => {   if (res.code === 0) {     this.setState({     treeData: res.a,     targets: res.b,  })  } else {   message.error(res.errmsg)  }  })  } test(item1, item2) {   const data = { item1, item2 }   fetch('/Url', {data}).then(res => {     if (res.code === 0) {       this.setState({         treeData: res.a,         targets: res.b,       })     } else {       message.error(res.errmsg)     }   }) }}export default Children

方法一:巧用key

<Children key={this.state.key} a={this.state.a} b={this.state.b} /> //父组件调用子组件

这种方法是通过key变化子组件会重新实例化 (react的key变化会销毁组件在重新实例化组件)

方法二:利用ref父组件调用子组件函数(不符合react设计规范,但可以算一个逃生出口嘻嘻~)

class father extends Component {    constructer(props) {      super(props);      this.state={       a: '1',       b: '2',      }      this.myRef      this.test = this.test.bind(this)    }   change() {     const { a,b } = this.state     console.log(this.myRef.test(a,b)) // 直接调用实例化后的Children组件对象里函数    }render() { <Children wrappedComponentRef={(inst) => { this.myRef = inst } } ref={(inst) => { this.myRef = inst } } />   <button onClick={this.test}>点击</button>}}

注:wrappedComponentRef是react-router v4中用来解决高阶组件无法正确获取到ref( 非高阶组件要去掉哦)

方法三:父级给子级传数据,子级只负责渲染(最符合react设计观念)推荐!!

父组件:

class father extends Component {    constructer(props) {      super(props);      this.state={       a:'1',       b:'2',       data:'',      }    }  getcomposedata() {    const { a, b } = this.state    const data = { a, b }    fetch('/Url', {data}).then(res => {      if (res.code === 0) {        this.setState({          data:res.data        })      } else {        message.error(res.errmsg)      }    })  }render() { <Children data={this.state.data}} />  }}

子组件:

  componentWillReceiveProps(nextProps) {    const { data } = this.state    const newdata = nextProps.data.toString()    if (data.toString() !== newdata) {      this.setState({        data: nextProps.data,      })    }  }

注:react的componentWillReceiveProps周期是存在期用改变的props来判断更新自身state

读到这里,这篇“react怎么更新state”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: react怎么更新state

本文链接: https://www.lsjlt.com/news/345500.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • react怎么更新state
    本文小编为大家详细介绍“react怎么更新state”,内容详细,步骤清晰,细节处理妥当,希望这篇“react怎么更新state”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。react更新state方法有:1、通...
    99+
    2023-07-04
  • react更新state方法有哪些
    本教程操作环境:Windows7系统、react17.0.1版、Dell G3电脑。react更新state方法有哪些react中父级props改变,更新子级state的多种方法子组件:class Children extends Comp...
    99+
    2022-11-22
    state React
  • react如何获取state的值并更新使用
    目录react获取state值并更新使用在视图层处理在model层处理react中state基本使用有状态组件和无状态组件state的基本使用setState修改状态从JSX中抽离事...
    99+
    2022-11-13
    react获取state的值 react state更新使用 react 更新state的值
  • react dva如何更改state
    这篇文章主要介绍了react dva如何更改state,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 react...
    99+
    2022-10-19
  • react怎么修改state
    今天小编给大家分享一下react怎么修改state的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。react改变state的方...
    99+
    2023-07-04
  • react 怎么实现热更新
    本教程操作环境:Windows10系统、react18版、Dell G3电脑。react 怎么实现热更新?[React] create-react-app 实现热更新一、使用以下命令行下载 react-hot-loaderyarn add ...
    99+
    2023-05-14
    React
  • react视图不更新怎么办
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react视图不更新怎么办?React 数组变化不引起视图更新import React, { Component } from 'react...
    99+
    2023-05-14
    React
  • React怎么更新流程驱动
    这篇文章主要介绍了React怎么更新流程驱动的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇React怎么更新流程驱动文章都会有所收获,下面我们一起来看看吧。一、react.createElement和React...
    99+
    2023-07-06
  • react中state以及setState怎么用
    这篇文章主要介绍react中state以及setState怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在react中通过 state 以及 setState() 来控制组件的...
    99+
    2022-10-19
  • react怎么修改state中的数组
    要修改state中的数组,可以使用setState方法更新state的值。在React中,不应直接修改state中的值,而是应该创建...
    99+
    2023-09-13
    react
  • react数组变化不更新怎么办
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react数组变化不更新怎么办?react中 一个state数组某元素属性发生变化时,setState页面不更新 写代码过程中,你会发现,如果...
    99+
    2023-05-14
    React
  • React Native怎么采用Hermes热更新打包
    这篇文章主要介绍“React Native怎么采用Hermes热更新打包”,在日常操作中,相信很多人在React Native怎么采用Hermes热更新打包问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-06-30
  • React Fiber树是怎么构建与更新的
    这篇文章主要讲解了“React Fiber树是怎么构建与更新的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“React Fiber树是怎么构建与更新的”吧!为什么需要 f...
    99+
    2023-07-04
  • 父组件中vuex方法更新state子组件不能及时更新并渲染怎么办
    这篇文章主要为大家展示了“父组件中vuex方法更新state子组件不能及时更新并渲染怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“父组件中vuex方法更新...
    99+
    2022-10-19
  • 浅谈React原生APP更新
    目录App更新流程大致的流程图更新APP信息1.首先定义需要获取的文件地址2.通过文件地址, 获取打完包后的版本信息3.替换现有文件中的信息大致流程图总结App更新流程 1.在 Ap...
    99+
    2022-11-12
  • react如何实现热更新
    这篇文章主要讲解了“react如何实现热更新”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react如何实现热更新”吧!react实现热更新的方法:1、使用“yarn add react-h...
    99+
    2023-07-04
  • React中setState的更新机制是什么
    这篇文章主要介绍“React中setState的更新机制是什么”,在日常操作中,相信很多人在React中setState的更新机制是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2022-10-19
  • react中props和state的区别是什么
    在React中,props和state是两个不同的概念,用于处理组件的数据。它们之间的区别如下:1. Props(属性):- Pro...
    99+
    2023-09-13
    react
  • React三大属性之state有什么用
    这篇文章给大家分享的是有关React三大属性之state有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。React中很多地方需要用到数据,这在React中被叫做状态,我们需要一个专门管理状态的方法,于是st...
    99+
    2023-06-14
  • react怎么更改对象
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react怎么更改对象?react setState修改对象属性由于需要对state中定义的对象属性做变更操作,却发现setState是不能直接对stat...
    99+
    2023-05-14
    React
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作