亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

react如何向數(shù)組中追加值

 更新時間:2022年09月01日 14:06:51   作者:otatoz  
這篇文章主要介紹了react如何向數(shù)組中追加值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

react向數(shù)組中追加值

首先,渲染一個隨機數(shù),每個一秒變換一次,效果如下:

代碼如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
  <title>數(shù)組追加元素</title>
  <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
  <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
  <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body>
 
<div id="xpf"></div>
<script type="text/babel">
class Xpf extends React.Component {
  constructor(props){
    super(props);
    this.state = {
      random:Math.random()
    }
  }
  
  componentWillMount(){
    setInterval(() => {
      this.setState({
        random:Math.random()
      })
    }, 1000);
  }
 
  render() {
    let {random} = this.state;
      return (
        <div>
          <div>
            {random}
          </div> 
          
        </div>
      );
  }
} 
 
ReactDOM.render(
	<Xpf />,
	document.getElementById('xpf')
);
 
</script>
 
</body>
</html>

注意:組件更新有兩種方式props或state的改變,而改變state一般是通過setState()方法來的,只有當(dāng)state或props改變,render()方法才能再次調(diào)用,即組件更新

將生成的隨機數(shù)放入一個數(shù)組,效果如下:

代碼如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
  <title>數(shù)組追加元素</title>
  <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
  <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
  <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body>
 
<div id="xpf"></div>
<script type="text/babel">
class Xpf extends React.Component {
  constructor(props){
    super(props);
    this.state = {
      random:Math.random(),
      arr:[1,2,3]
    }
  }
  
  componentWillMount(){
    setInterval(() => {
      this.setState({
        random:Math.random(),
        arr:[...this.state.arr,Math.random()]
      })
    }, 1000);
  }
 
  render() {
    let {random,arr} = this.state;
      return (
        <div>
          <div>
            {random}
          </div> 
          <ul>
            {
              arr.map((item,index)=>{
                return ( <li key={index}>{item}</li>)
              })
            }
          </ul>  
        </div>
      );
  }
} 
 
ReactDOM.render(
	<Xpf />,
	document.getElementById('xpf')
);
 
</script>
 
</body>
</html>

使用...this.state.arr將arr解構(gòu)出來,在將隨機數(shù)加進去

注意:不能使用 arr : this.state.arr.push(Math.random()),不能使用在原數(shù)組的基礎(chǔ)上修改的方法,例如push之類,可以使用concat方法或者ES6數(shù)組拓展語法

react處理數(shù)組的值

1. 追加數(shù)組的值

通過…運算符把數(shù)組之前的值拆分,再在后面追加值

this.state = {
? arr: []
}
add(){
? this.setState((prevSatet) => ({
? ? arr: [...prevSatet.arr, [追加的值] ]
? }))
}

2. 刪除下標(biāo)為index的值

把state中arr的值拷貝到新的arr中,刪除新arr下標(biāo)為index的值后,再重新賦值回arr

主要不要直接刪除state中arr的值,然后賦值回去,這樣違反immutable的規(guī)則

this.state = {
? arr: []
}
delete(index){?
? this.setState((prevState) => {
? ? const arr = [...prevState.list]
? ? arr.splice(index, 1)
? ? return { arr }
? })
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • ReactRouterV6如何獲取當(dāng)前路由參數(shù)

    ReactRouterV6如何獲取當(dāng)前路由參數(shù)

    這篇文章主要介紹了ReactRouterV6如何獲取當(dāng)前路由參數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 詳解如何在項目中使用jest測試react native組件

    詳解如何在項目中使用jest測試react native組件

    本篇文章主要介紹了詳解如何在項目中使用jest測試react native組件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • vscode調(diào)試react?最初的源碼解析

    vscode調(diào)試react?最初的源碼解析

    這篇文章主要介紹了vscode調(diào)試react?最初的源碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友跟隨小編一起看看吧
    2023-11-11
  • react?Scheduler?實現(xiàn)示例教程

    react?Scheduler?實現(xiàn)示例教程

    這篇文章主要為大家介紹了react?Scheduler?實現(xiàn)示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • react-router browserHistory刷新頁面404問題解決方法

    react-router browserHistory刷新頁面404問題解決方法

    本篇文章主要介紹了react-router browserHistory刷新頁面404問題解決方法,非常具有實用價值,需要的朋友可以參考下
    2017-12-12
  • 詳解一個基于react+webpack的多頁面應(yīng)用配置

    詳解一個基于react+webpack的多頁面應(yīng)用配置

    這篇文章主要介紹了詳解一個基于react+webpack的多頁面應(yīng)用配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • React useMemo與useCallabck有什么區(qū)別

    React useMemo與useCallabck有什么區(qū)別

    useCallback和useMemo是一樣的東西,只是入?yún)⒂兴煌瑄seCallback緩存的是回調(diào)函數(shù),如果依賴項沒有更新,就會使用緩存的回調(diào)函數(shù);useMemo緩存的是回調(diào)函數(shù)的return,如果依賴項沒有更新,就會使用緩存的return
    2022-12-12
  • React前端路由應(yīng)用介紹

    React前端路由應(yīng)用介紹

    前端應(yīng)用大多數(shù)是SPA(單頁應(yīng)用程序),也就是只有一個HTML頁面的應(yīng)用程序。因為它的用戶體驗更好、對服務(wù)器壓力更小,所以更受歡迎。為了有效的使用單個頁面來管理多頁面的功能,前端路由應(yīng)運而生
    2022-09-09
  • React團隊測試并發(fā)特性詳解

    React團隊測試并發(fā)特性詳解

    這篇文章主要為大家介紹了React團隊測試并發(fā)特性詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Remix中mdx?table不支持表格解決

    Remix中mdx?table不支持表格解決

    這篇文章主要為大家介紹了Remix中mdx?table不支持表格問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05

最新評論