react-13-JSX-for循环-选项卡

简介: 算是个小练习吧比较这种tab页,选项卡还是非常常用的

1.前言


算是个小练习吧

比较这种tab页,选项卡还是非常常用的


2. 效果


Y`{]CD%S~Y`NBT8WX93H1C9.png



3.分析


  1. 上边切换按钮 循环写出,配合选中态
  2. 下边对应的内容也可以循环写出,
  3. 需要给每个按钮和 显示内容做个标记
  4. 点击的时候 修改 state的 值


4. 具体的实现 -for


4.1  for-问题

{RDP}@_CMN@Z)785XFL~9T1.png


这个 render要求写一个表达式,但是 这种 for语句不行

4.2 for-问题-解决

封装一个 函数

这个 参数 f是循环函数,我这里作为个一个参数,哪里需要就可以在哪里具体实现 循环逻辑


function listFor(f) {
            var list = [];
            f(list)
            return list
        }



5. 切换按钮- 循环函数的使用


  1. 可能看上边封装的循环函还比较晕乎 ,结合这里的应用会清楚一点
  2. 这个选中态 是通过 className + 三目元算符来实现的

因为写的是js代码 而这个class关键字已经作为来使用了,所以样式类名这里 必须通过className来写

  1. 点击事件通过 setState修改state 的值


listFor((list) => {
                            for (let i = 0; i < 10; i++) {
                                list.push(<button  className={this.state.num ==i ? "selected":""} onClick={()=>{this.setState({num:i})}} key={i}>{i} </button>)
                            }
                        })



6. 显示内容-循环函数


  1. 这就体现出封装循环函数的时候,把这个循环逻辑封装成函数的好处了
  2. 这里其实可以通过浏览器的 react插件来修改 num的值进行调试
  3. 注意是 循环的key不要忘记
  4. 通过 常规的 display 来控制内容显隐


listFor((list) => {
                            for (var i = 0; i < 10; i++) {
                                // 控制台调试 num的值 测试
                                list.push(<h1 key={i} style={{display:this.state.num ==i ? 'block' :"none"}}>{i} </h1>)
                            }
                        })



7.完整代码


7.1 选中样式


<style>
        .selected{
            color:red;
        }
    </style>


7.2 JSX


function listFor(f) {
            var list = [];
            f(list)
            return list
        }
        class App extends React.Component {
            constructor(){
                super();
                this.state ={
                    num:0
                }
            }
            render() {
                return (<div>
                    {
                        listFor((list) => {
                            for (let i = 0; i < 10; i++) {
                                list.push(<button  className={this.state.num ==i ? "selected":""} onClick={()=>{this.setState({num:i})}} key={i}>{i} </button>)
                            }
                        })
                    }
                    {
                        listFor((list) => {
                            for (var i = 0; i < 10; i++) {
                                // 控制台调试 num的值 测试
                                list.push(<h1 key={i} style={{display:this.state.num ==i ? 'block' :"none"}}>{i} </h1>)
                            }
                        })
                    }
                </div>)
            }
        }
        ReactDOM.render(<App />, app)

希望想入门的可以自己多练练试试

已经入门了,就没必要在这里浪费时间了




相关文章
|
27天前
|
前端开发 UED 开发者
React 选项卡组件 Tabs:从基础到优化
本文详细介绍了如何在React中构建一个功能丰富的选项卡组件,包括基础实现、样式美化、常见问题及解决方法。通过逐步讲解,从简单的选项卡组件结构开始,逐步引入样式、性能优化、动态内容加载、键盘导航支持和动画效果,最后讨论了自定义样式的实现。旨在帮助开发者在React项目中高效构建高质量的选项卡组件。
66 18
|
7月前
|
前端开发
react怎么制作选项卡
react怎么制作选项卡
38 0
|
前端开发
React里的tab选项卡方法
React里的tab选项卡方法
|
3月前
|
前端开发 JavaScript 开发者
深入理解React Hooks:提升前端开发效率的关键
【10月更文挑战第5天】深入理解React Hooks:提升前端开发效率的关键
|
2月前
|
前端开发 JavaScript 开发者
颠覆传统:React框架如何引领前端开发的革命性变革
【10月更文挑战第32天】本文以问答形式探讨了React框架的特性和应用。React是一款由Facebook推出的JavaScript库,以其虚拟DOM机制和组件化设计,成为构建高性能单页面应用的理想选择。文章介绍了如何开始一个React项目、组件化思想的体现、性能优化方法、表单处理及路由实现等内容,帮助开发者更好地理解和使用React。
91 9
|
3月前
|
前端开发
深入解析React Hooks:构建高效且可维护的前端应用
本文将带你走进React Hooks的世界,探索这一革新特性如何改变我们构建React组件的方式。通过分析Hooks的核心概念、使用方法和最佳实践,文章旨在帮助你充分利用Hooks来提高开发效率,编写更简洁、更可维护的前端代码。我们将通过实际代码示例,深入了解useState、useEffect等常用Hooks的内部工作原理,并探讨如何自定义Hooks以复用逻辑。
|
3月前
|
前端开发 JavaScript API
探索React Hooks:前端开发的革命性工具
【10月更文挑战第5天】探索React Hooks:前端开发的革命性工具
|
2月前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
191 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
|
2月前
|
前端开发 JavaScript 开发者
使用React和Redux构建高效的前端应用
使用React和Redux构建高效的前端应用
50 1
|
3月前
|
前端开发 数据管理 编译器
引领前端未来:React 19的重大更新与实战指南🚀
React 19 即将发布,带来一系列革命性的新功能,旨在简化开发过程并显著提升性能。本文介绍了 React 19 的核心功能,如自动优化重新渲染的 React 编译器、加速初始加载的服务器组件、简化表单处理的 Actions、无缝集成的 Web 组件,以及文档元数据的直接管理。这些新功能通过自动化、优化和增强用户体验,帮助开发者构建更高效的 Web 应用程序。
215 1
引领前端未来:React 19的重大更新与实战指南🚀