程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了React + TS,当 props 略有不同并描述 C props 类型时,如何将 props 从组件 A & B 传递到组件 C?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决React + TS,当 props 略有不同并描述 C props 类型时,如何将 props 从组件 A & B 传递到组件 C??

开发过程中遇到React + TS,当 props 略有不同并描述 C props 类型时,如何将 props 从组件 A & B 传递到组件 C?的问题如何解决?下面主要结合日常开发的经验,给出你关于React + TS,当 props 略有不同并描述 C props 类型时,如何将 props 从组件 A & B 传递到组件 C?的解决方法建议,希望对你解决React + TS,当 props 略有不同并描述 C props 类型时,如何将 props 从组件 A & B 传递到组件 C?有所启发或帮助;

React + TS,当 props 略有不同并描述 C props 类型时,如何将 props 从组件 A & B 传递到组件 C?

我在 React 中有两个组件:RedBlue,我需要将 props 传递给 Yellow 组件,但是传递的对象与 (const A & const B) 略有不同。如果我将 props.passed 中的 Yellow 类型描述为联合类型 TypeA | TypeB,除非我尝试访问 props.passed.A.c 属性,否则 {{1} 上不存在该属性}.

有没有办法描述TypeB组件的Yellow类型来避免图片底部显示的错误?

注意:我不允许将 prop.passed 的属性分开并与 const A

分开传递

解决方法

您可以使用 in 运算符检查 passed 是否包含 c

type TypeA = {
    a: String
    b: String
    c: object
}
type TypeB = {
    a: String
    b: String
}

const f = (passed: TypeA | TypeB) => {
    console.log(passed.a)
    if ('c' in passed) {
        console.log(passed.C)
    }
}

TS playground

大佬总结

以上是大佬教程为你收集整理的React + TS,当 props 略有不同并描述 C props 类型时,如何将 props 从组件 A & B 传递到组件 C?全部内容,希望文章能够帮你解决React + TS,当 props 略有不同并描述 C props 类型时,如何将 props 从组件 A & B 传递到组件 C?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。