加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

reactjs – 流程:解构.在React / Preact中缺少注释

发布时间:2020-12-15 20:16:35 所属栏目:百科 来源:网络整理
导读:刚开始使用Flow但似乎无法理解它是什么让我想要添加用于解构对象(如道具)的类??型 即 render({ count },{ displayHelp }) { 抛出一个错误 16: render({ count },{ displayHelp }) { ^^^^^^^^^ destructuring. Missing annotation 当我添加注释时,它仍然会抱
刚开始使用Flow但似乎无法理解它是什么让我想要添加用于解构对象(如道具)的类??型

render({ count },{ displayHelp }) {

抛出一个错误

16:   render({ count },{ displayHelp }) {
              ^^^^^^^^^ destructuring. Missing annotation

当我添加注释时,它仍然会抱怨

17:   render({ count: number },{ displayHelp }) {
              ^^^^^^^^^^^^^^^^^ destructuring. Missing annotation

如果有人能指出的话,我显然在这里遗漏了一些非常简单的东西?

解决方法

执行{count:number}的问题是,这与 destructuring assignment的ES6语法冲突,你可以使用{a:b} = c来获取c中的键a的值,并将其命名为b,即:

const c = { a: 1 }
const { a: b } = c
//b is now a constant with value 1

现在在Flow中没有一个很好的解决方法,但这似乎有效(虽然它很难看):

render({...}: { count: number },{ displayHelp }) {

现在最好的方法似乎是创建一个捕获你的道具的自定义类型:

type propsForThisComponent = {
  propA: someType
  propB: anotherType
  ...
}

然后做:

render(props: propsForThisComponent) {

这个类型检查,虽然它强制您以props.propName的身份访问所有道具.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读