在 React TypeScript 中使用默认值设置可选项
在 React TypeScript 中使用默认值设置可选项:
- 使用问号将类型上的属性标记为可选。
- 在函数的定义中解构它们时,为属性提供默认值。
interface EmployeeProps {
name?: string; // ?️ 标记为可选
age?: number; // ?️ 标记为可选
country: string; // ?️ 必选项
}
function Employee({name = 'Alice', age = 30, country}: EmployeeProps) {
return (
<div>
<h2>{name}</h2>
<h2>{age}</h2>
<h2>{country}</h2>
</div>
);
}
export default function App() {
return (
<div>
<Employee name="Bob" age={29} country="Belgium" />
<hr />
<Employee country="Austria" />
</div>
);
}
我们将 name 和 age 属性标记为可选。
这意味着组件可以在提供或不提供 name 和 age 属性的情况下使用。\
如果未指定可选属性的值,则将其设置为 undefined 。
不为 prop 提供值和将 prop 设置为 undefined 的值是相同的。
我们还在 Employee 组件的定义中为 name 和 age 参数设置了默认值。
function Employee({name = 'Alice', age = 30, country}: EmployeeProps) {
return (
<div>
<h2>{name}</h2>
<h2>{age}</h2>
<h2>{country}</h2>
</div>
);
}
对象中的 name 属性默认设置为 Alice,所以如果没有提供 name 属性,它将被分配一个 Alice 的值。
我们还可以通过将其所有属性标记为可选来将整个 props 对象设置为可选。
interface EmployeeProps {
name?: string; // ?️ 所有的标记为可选项
age?: number;
country?: string;
}
function Employee({
name = 'Alice',
age = 30,
country = 'Austria',
}: EmployeeProps) {
return (
<div>
<h2>{name}</h2>
<h2>{age}</h2>
<h2>{country}</h2>
</div>
);
}
export default function App() {
return (
<div>
<Employee name="Bob" age={29} country="Belgium" />
<hr />
<Employee />
</div>
);
}
EmployeeProps
类型中的所有属性都标记为可选,因此无需提供任何属性即可使用该组件。
我们为 Employee
组件的所有 props 设置了默认值,因此如果省略任何 props,则使用默认值。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。