noVueSetupPropsReactivityLoss
¥Summary
-
规则生效日期:
v2.2.6¥Rule available since:
v2.2.6 -
诊断类别:
lint/nursery/noVueSetupPropsReactivityLoss¥Diagnostic Category:
lint/nursery/noVueSetupPropsReactivityLoss -
此规则没有修复方案。
¥This rule doesn’t have a fix.
-
此规则的默认严重级别为 information。
¥The default severity of this rule is information.
-
此规则属于以下域:
¥This rule belongs to the following domains:
-
来源:
¥Sources:
-
灵感来自
vue/no-setup-props-reactivity-loss¥Inspired from
vue/no-setup-props-reactivity-loss
-
¥How to configure
{ "linter": { "rules": { "nursery": { "noVueSetupPropsReactivityLoss": "error" } } }}¥Description
禁止在 Vue 项目中解构传递给 setup 的 props。
¥Disallow destructuring of props passed to setup in Vue projects.
在 Vue 的组合 API 中,必须使用 props.propertyName 访问 props 以保持响应式。直接在 setup 函数参数中解构 props 会导致生成的变量失去其响应式特性。
¥In Vue’s Composition API, props must be accessed as props.propertyName to maintain
reactivity. Destructuring props directly in the setup function parameters will
cause the resulting variables to lose their reactive nature.
¥Examples
¥Invalid
export default { setup({ count }) { return () => h('div', count); }}code-block.js:2:9 lint/nursery/noVueSetupPropsReactivityLoss ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Destructuring `props` in the `setup` function parameters loses reactivity.
1 │ export default {
> 2 │ setup({ count }) {
│ ^^^^^^^^^
3 │ return () => h(‘div’, count);
4 │ }
ℹ To preserve reactivity, access props as properties: `props.propertyName`.
¥Valid
export default { setup(props) { return () => h('div', props.count); }}¥Related links
Biome v2.1 中文网 - 粤ICP备13048890号