<ComponentName> 的创建没有预期的 prop 'segment'

pie*_*hka 9 svelte

当您像这样创建空的Svelte组件(例如ComponentName.svelte)时:

<script>
    export let segment;
</script>

<style>
</style>

<svelte:head>
    <title>Lorem ipsum</title>
</svelte:head>

<p>lorem ipsum...</p>
Run Code Online (Sandbox Code Playgroud)

你会有错误:

<ComponentName> was created without expected prop 'segment'
Run Code Online (Sandbox Code Playgroud)

Ric*_*ris 19

这是为了帮助你调试——你已经定义了一个segmentprop,但是组件的使用者没有给它一个值,这很可能是错误的原因。消费者应该提供一个值——<ComponentName segment="foo"/>或者你应该 a) 移除 prop,或者 b) 给它一个默认值(可以是undefined):

export let segment = undefined;
Run Code Online (Sandbox Code Playgroud)

这三个操作中的任何一个都将阻止出现警告。

  • 不幸的是,将道具设置为未定义或空字符串仍然会显示警告,当您实际需要该道具但又想最初将其保留为未定义时,这非常烦人 (3认同)
  • 谢谢里奇!未定义对我有用 (3认同)