React碰到v-if的示例分析
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章将为大家详细讲解有关React碰到v-if的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码:import React from 'react'c
千家信息网最后更新 2026年10月31日React碰到v-if的示例分析
这篇文章将为大家详细讲解有关React碰到v-if的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
代码:
import React from 'react'const App = () => { const record = { toKe: true, // 贝壳首页 toSecondHand: true, // 二手房 toFang: true, // 新房 } return ( )}export default App如上述代码,我们在项目中会遇到很多这样的写法, 细看一下没什么问题,可是当在重构老项目的时候,你会发现这个代码结构是多么痛苦,特别是如下的结构。
{ record.toFang && record.toKe && record.toSecondHand && }虽然代码逻辑没问题,但人生就是这样,有时候出场顺序真的很重要。突然就想起vue的v-if了。
没错,回归主题,就是:react中模拟vue的v-if
先上代码
import React from 'react'import Hidden from './Hidden'const App = () => { const record = { toKe: true, // 贝壳首页 toSecondHand: true, // 二手房 toFang: true, // 新房 } return ( )}export default App简单就是封装Hidden组件,通过visible去控制是否渲染。
相信聪明的你一定知道怎么去封装Hidden
笔者刚开始是这么写的
import React, { Component } from 'react'export default class Hidden extends Component { render() { const { visible, children } = this.props const content = visible ? children : null return ( { content } ) }}如此简单,但笔者审查元素的时候发现,每个Hidden下的children莫名被嵌套了一层div
如下
原来的横着排列的元素,一下子竖着排列了。这可不太好,本来给我套个div,我都可以勉强接收,现在连我布局都给我变了。
怎么办?笔者突然想到使用vue-router中的router-link时,标签是可以通过tag去替换默认标签的。
那我们再给它个tag呗,连带自定义属性。
import React, { Component } from 'react'export default class Hidden extends Component { render() { const { visible, children, tag = 'div', ...rest } = this.props const content = visible ? children : null return ( React.createElement(tag, rest, content) ) // return ( // 尝试用这种方法去实现,发现不符合react的规则,所以使用最原始的渲染方法 // React.createElement // `<`${tag}`>` + { content } + ``${tag}`>` // ) }}问题:笔者的初衷是模拟vue的v-if, 所以对传入的children并没做太多处理,不建议做多做封装。有兴趣的同学可以自己玩。
{ record.toFang && record.toKe && record.toSecondHand && 贝壳首页 二手房 新房 } a href="https://bj.ke.com" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >贝壳首页 二手房 新房 其实感觉也没多大用处hhhh
关于"React碰到v-if的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
二手房
新房
贝壳
首页
代码
笔者
就是
篇文章
问题
封装
示例
分析
元素
写法
方法
时候
更多
标签
结构
项目
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司税收优惠
疫情对互联网科技公司影响
互联网科技卖菜
互联网科技金融
互联网科技logo设计
互联网科技公司有哪些
互联网科技公司做什么
蓝色互联网科技
互联网为啥属于高科技
移动互联网科技公司
移动互联网年度科技创新
消费医药和互联网科技
互联网科技大奖都有哪些公司
畅思互联网科技
每天都有哪些好的互联网科技
互联网企业科技类企业如何做账
西安有哪些互联网高科技企业
北京品多多互联网科技有限公司
每日互联网科技新闻
如何强化互联网金融科技
互联网科技公司税收优惠
科技互联网技术
西安互联网科技
互联网科技缩写
昭通云南众福互联网科技有限公司
苏州五指互联网络科技有限
乌鲁木齐新华智原互联网科技学校
互联网行业科技股
湖北辰鑫科技互联网
玉溪新华互联网科技怎么选