React 是一个用于构建用户界面的 JavaScript 库。条件渲染(Conditional Rendering)是指根据某些条件来决定组件是否渲染或渲染什么内容。这在实现响应式设计时非常有用,比如根据设备的类型(移动视图或桌面视图)来显示不同的布局。
condition ? exprIfTrue : exprIfFalse
condition && <Component />
condition || <Component />
if
语句switch
语句在 React 中,条件渲染常用于以下场景:
以下是一个简单的示例,展示如何根据设备的宽度来决定渲染移动视图还是桌面视图:
import React from 'react';
const MobileView = () => <div>Mobile View</div>;
const DesktopView = () => <div>Desktop View</div>;
const ResponsiveComponent = () => {
const isMobile = window.innerWidth <= 768;
return (
<div>
{isMobile ? <MobileView /> : <DesktopView />}
</div>
);
};
export default ResponsiveComponent;
原因:
解决方法:
console.log
打印条件表达式的值,确保其正确性。useEffect
钩子来监听窗口大小变化。import React, { useEffect, useState } from 'react';
const ResponsiveComponent = () => {
const [isMobile, setIsMobile] = useState(window.innerWidth <= 768);
useEffect(() => {
const handleResize = () => {
setIsMobile(window.innerWidth <= 768);
};
window.addEventListener('resize', handleResize);
return () => {
window.removeEventListener('resize', handleResize);
};
}, []);
return (
<div>
{isMobile ? <MobileView /> : <DesktopView />}
</div>
);
};
export default ResponsiveComponent;
通过以上内容,你应该能够理解 React 中条件渲染的基础概念、优势、类型、应用场景以及常见问题的解决方法。
领取专属 10元无门槛券
手把手带您无忧上云