

新闻资讯
行业动态在 react 中,推荐通过父组件控制子组件的渲染(如 `con
dition &&
在 React 开发中,条件渲染是高频需求,但实现方式直接影响性能、可维护性与代码语义清晰度。最推荐的方式是在父组件中控制是否渲染子组件,即采用 condition &&
// ✅ 推荐:父组件决定是否挂载,子组件完全不执行
const Parent = () => {
const [isReady, setIsReady] = useState(false);
return (
{isReady && } {/* MyComponent 不会初始化,无 hooks 执行 */}
);
};
const MyComponent = () => {
// ✅ 这些逻辑仅在 isReady === true 时才会执行
useEffect(() => {
console.log('Mounted!');
}, []);
const expensiveCalculation = useMemo(() => {
return heavyComputation();
}, []);
return Content;
};相比之下,将条件判断移入子组件内部(如 if (!props.isRender) return null)虽能“隐藏”内容,但存在明显缺陷:
而父级条件渲染天然支持性能优化:
const LazyComponent = React.lazy(() => import('./LazyComponent'));
// ✅ 可与 Suspense 结合,首次满足条件时才下载并初始化
{show && (
}>
)}⚠️ 注意事项:
总结:条件渲染的本质不是“隐藏”,而是“按需创建”。优先选择父组件级控制,既符合 React 的声明式心智模型,又能保障性能、可预测性与可测试性。