前端/移动开发面试题更新 2026-08-05

在 React 中,当组件的某个属性没有被传入值时,该属性会取什么默认值?

前端/移动开发技术原理ReactTypeScript

考察说明

考查对 React 组件属性默认值机制的理解,包括 undefined 与默认值的区别。

回答思路

  1. 【回答框架 1】在 React 中,如果组件属性未传值,该属性默认为 undefined。对于类组件,可以通过 static defaultProps 或 Component.defaultProps 定义默认属性值,当传入值为 undefined 时,会使用默认值;但若显式传入 null,则不会使用默认值。
  2. 【回答框架 2】对于函数组件,可以使用默认参数(如 function Component({ prop = 'default' })或使用 React 的 defaultProps 属性(现已不推荐,建议使用默认参数)。默认参数仅在属性为 undefined 时生效,null 不会被替换。
  3. 【回答框架 3】在 TypeScript 中,可以通过可选属性(?)和默认值语法来定义,但运行时行为与 JavaScript 一致。
  4. 【回答框架 4】需要注意的是,defaultProps 在 React 18 中已从函数组件中移除,推荐使用默认参数或解构赋值。
  5. 【关键点 1】未传属性时,属性值为 undefined。
  6. 【关键点 2】defaultProps 或默认参数仅在属性为 undefined 时生效,null 不会触发默认值。
  7. 【关键点 3】函数组件推荐使用默认参数,类组件使用 defaultProps。