React中的for循环解读

 更新时间:2023年01月16日 10:24:55   作者:越来越好。  
这篇文章主要介绍了React中的for循环解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

React中的for循环

记得要绑定key!

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script src="./js/react.development.js"></script>
    <script src="./js/react-dom.development.js"></script>
    <script src="./js/babel.min.js"></script>
    <title>例子2</title>
</head>
 
<body>
    <div id="root1"></div>
    <div id="root2"></div>
    <div id="root3"></div>
</body>
 
<script type="text/babel">
 
    //继承实例
    window.onload = () => {
        var arr = ["a", "b", "d", "e", "f"];
 
        //第一种写法    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        ReactDOM.render(
            <div>
                {
                    arr.map((item, index) => {
                        return <div key={index}>{item}</div>
                    })
                }
            </div>,
            document.getElementById("root1")
        )
 
        //第二种写法  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        var str = arr.map((item, index) => {
            return <div key={index}>{item}</div>
        })
        ReactDOM.render(
            <div>
                {str}
            </div>,
            document.getElementById("root2")
        )
        //第三种写法 我们应该是最熟悉这种写法
        var str=[];
        for(let i=0;i<arr.length;i++){
            str.push(<div key={i}>{arr[i]}</div>)
        }
        ReactDOM.render(
            str,
            document.getElementById("root3")
        )
    }
</script>
 
</html>

React死循环

原因1

修改状态函数写在副作用函数里面,修改状态函数会使整个函数式组件重新执行,相当于执行了以下代码

export default function App () {
  const [num, setNum] = useState(5)
  console.log(setNum)
  document.title = '标题' + num
  useEffect(() => {
    // setNum(num + 5)
    document.title = '标题' + num
  })
  const hClick = () => {
    setNum(num + 5)
    // useEffect(() => {
    //   // setNum(num + 5)
    //   document.title = '标题' + num
    // })
    // 错误×
    // Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
    // 1. You might have mismatching versions of React and the renderer (such as React DOM)
    // 2. You might be breaking the Rules of Hooks
    // 3. You might have more than one copy of React in the same app
    // See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.
  }
  return (<div>
      num:{num}
      <button type="button" onClick={() => {
        // eslint-disable-next-line no-unused-expressions
        hClick()
      }}>每次加5</button>
    </div>)
}

错误代码如下:

  useEffect(() => {
    // setNum(num + 5)
    document.title = '标题' + num
  })

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • ForwardRef useImperativeHandle方法demo

    ForwardRef useImperativeHandle方法demo

    这篇文章主要为大家介绍了ForwardRef useImperativeHandle方法demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 高性能React开发React Server Components详解

    高性能React开发React Server Components详解

    ReactServerComponents通过服务器端渲染、自动代码分割等技术,实现了高性能的React开发,它解决了客户端数据请求链式延迟、敏感数据暴露风险等问题,提供了更好的用户体验和安全性,本文介绍高性能React开发React Server Components详解,感兴趣的朋友一起看看吧
    2025-03-03
  • 解决React报错Expected an assignment or function call and instead saw an expression

    解决React报错Expected an assignment or funct

    这篇文章主要为大家介绍了React报错Expected an assignment or function call and instead saw an expression解决方案详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • 浅谈react受控组件与非受控组件(小结)

    浅谈react受控组件与非受控组件(小结)

    本篇文章主要介绍了浅谈react受控组件与非受控组件(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 详解React中的setState执行机制

    详解React中的setState执行机制

    setState是React组件中用于更新状态的方法,是类组件中的方法,用于更新组件的状态并重新渲染组件,本文给大家详细介绍了React中的setState执行机制,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • react-dnd API拖拽工具详细用法示例

    react-dnd API拖拽工具详细用法示例

    这篇文章主要为大家介绍了react-dnd API拖拽工具的详细用法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • React Native 集成 iOS 原生功能(打印机功能为例)

    React Native 集成 iOS 原生功能(打印机功能为例)

    在 React Native 项目中集成 iOS 原生功能是一个常见需求,本文将同样以打印机功能为例,详细介绍如何在 React Native 项目中集成 iOS 原生功能,感兴趣的朋友一起看看吧
    2024-12-12
  • 浅谈react 同构之样式直出

    浅谈react 同构之样式直出

    这篇文章主要介绍了浅谈react 同构之样式直出,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 使用React手写一个对话框或模态框的方法示例

    使用React手写一个对话框或模态框的方法示例

    这篇文章主要介绍了使用React手写一个对话框或模态框的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • react实现路由拦截的示例代码

    react实现路由拦截的示例代码

    这篇文章主要介绍react实现路由拦截的,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-02-02

最新评论