Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >设置React子类型脚本定义会破坏父属性类型检查

设置React子类型脚本定义会破坏父属性类型检查
EN

Stack Overflow用户
提问于 2019-05-28 09:05:37
回答 1查看 772关注 0票数 0

我试图弄清楚为什么为React/JSX组件设置子属性会破坏父组件的类型检查。

下面是一个简单的代码示例,如果我没有定义子类型,顶部测试无法在someOtherProp上显示错误,如果我定义子属性,则第二个测试组件无法在someOtherProp上显示错误,如果我将子类型设为可选,则两个组件都会失败。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import React from 'react';

export interface TestProps {
  style: {
    flex?: number;
  };
  children: React.ReactNode;
}

const Test = ({ style }: TestProps) => <div style={style} />;

export const MainTest = () => (
  <>
    <Test style={{ flex: 1, someOtherProp: 'center' }} />;
    <Test style={{ flex: 1, someOtherProp: 'center' }}>
      <p>Children Breaks TypeChecking</p>
    </Test>
  </>
);
EN

回答 1

Stack Overflow用户

发布于 2019-05-30 07:32:00

这似乎已修复从typescript版本3.4.5升级到3.5.1。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56338591

复制
相关文章
React prop类型检查与Dom
当应用不断增长时,可以用过类型检查发现很多bug。对于某些应用,可以使用JavaScript扩展工具来完成,比如使用  Flow 或 TypeScript 来检查整个工程。除了引入外部工具之外,React也提供了参数类型检查的功能,只需要为每一个属性指定一个 propTypes 即可:
随风溜达的向日葵
2018/08/02
1.7K0
React组件设计实践总结01 - 类型检查
最近准备培训新人, 为了方便新人较快入手 React 开发并编写高质量的组件代码, 我根据自己的实践经验对React 组件设计的相关实践和规范整理了一些文档, 将部分章节分享了出来. 由于经验有限, 文章可能会有某些错误, 希望大家指出, 互相交流.
_sx_
2019/08/07
8.2K0
React组件设计实践总结01 - 类型检查
Vue 在父(子)组件引用其子(父)组件方法和属性
<button @click="callChildMethod()">父组件调用子组件方法</button>
授客
2020/06/23
1.9K0
react子组件向父组件传递数据_react子组件改变父组件的状态
本博客代码是 React 父组件和子组件相互传值的 demo;实现封装一个折线图,折线图选择下拉框,获取下拉框点击的值并且传给父组件根据下拉框筛选的条件更新视图;效果图如下:
全栈程序员站长
2022/10/03
3.6K0
react子组件向父组件传递数据_react子组件改变父组件的状态
vue父组件调用子组件属性_vue子组件获取父组件实例
但是在vue3中,很显然使用this.$emit() 已经开始报错了,为什么会报错呢?
全栈程序员站长
2022/11/10
2.1K0
父元素opacity属性对子元素的影响(子元素设置opacity无效)
这段时间做了一个项目优化,对于原有的内容进行了重新设计实现,其中一项就是对于label标签添加hover层进行解释说明,最常用的办法及时label的容器设置relative,然后hover层作为它的子元素设置absolute,然后在使用label的hover伪类来控制hover层的显示和隐藏,这其中一个要求及时hover层必定要求能够遮住页面中其他的元素,所以最常用的办法是设置它的背景颜色,然后让它的z-index处于合理的位置,一切都是这样设计的,但是最终的效果却出现了hover层设置bg为#fff的时候,hover层显示时还是会把底部内容给透出来,第一反应就是opacity设置为1,但是还是没有效果(因为背景为白色,所以有点坑)
全栈程序员站长
2022/09/01
3.1K0
父元素opacity属性对子元素的影响(子元素设置opacity无效)
vue 父组件调用子组件_react父组件向子组件传值
1.直接在子组件中通过“this.$parent.event”来调用父组件的方法。
全栈程序员站长
2022/11/15
1.9K0
39. Groovy 类型检查扩展,最终篇 高级类型检查扩展
本篇内容为Groovy类型检查扩展的最终篇。高级类型检查扩展。本篇结束后,关于Groovy中的类型检查扩展的相关知识就分享结束了。
zinyan.com
2023/02/23
9490
39. Groovy 类型检查扩展,最终篇 高级类型检查扩展
子组件传对象给父组件_react子组件改变父组件的状态
sendData = () => { let data = ‘1234’; this.props.getData(data); //这个this,props.xxx 后面的xxx是是在父组件那使用的名字; }, 然后可以在render函数后使用这个方法或者另外定义一个事件去触发该方法进行传值,
全栈程序员站长
2022/10/04
2.8K0
【Python】类型注解 ② ( 基础变量设置类型注解 | 类对象设置类型注解 | 容器变量设置简易类型注解 | 容器变量设置详细类型注解 )
元组 数据容器类型 的 详细 类型注解 , 需要为每个元素都进行类型标记 , 有几个元素就要标记几个类型 ;
韩曙亮
2023/10/11
2360
【Python】类型注解 ② ( 基础变量设置类型注解 | 类对象设置类型注解 | 容器变量设置简易类型注解 | 容器变量设置详细类型注解 )
Java 8 - 04 类型检查、类型推断以及限制
当我们第一次提到Lambda表达式时,说它可以为函数式接口生成一个实例。然而,Lambda 表达式本身并不包含它在实现哪个函数式接口的信息。为了全面了解Lambda表达式,women 应该知道Lambda的实际类型是什么 .
小小工匠
2021/08/17
8860
React父组件调用子组件的方法
React组件化开发中子组件可以通过传递变量或者父组件的方法来实现和父组件的通信或者调用函数传值,但是父组件如何调用子组件的方法呢?很多介绍Hooks的文章并没有讲到useImperativeHandle,我以使用React18+TypeScript开发的项目为例,组件使用Hooks。以下是我精简过后的代码。
用户6256742
2022/07/06
5.8K0
编译期类型检查 in ClojureScript
前言  话说"动态类型一时爽,代码重构火葬场",虽然有很多不同的意见(请参考),但我们看到势头强劲的TypeScript和Flow.js,也能感知到静态类型在某程度上能帮助我们写出更健壮的代码(当然要基于充分的单元测试上啦)。  ClojureScript与JavaScript一样采取动态类型,但由于需要通过Google Closure Compiler编译后才能运行,因此我们可以如同JS那样借助GCC的注解来引入编译时类型检查,达到同样静态类型的效果。 配置项目设置 GCC的编译时类型检查仅当optim
^_^肥仔John
2018/07/11
7230
编译期类型检查 in ClojureScript
前言  话说"动态类型一时爽,代码重构火葬场",虽然有很多不同的意见(请参考),但我们看到势头强劲的TypeScript和Flow.js,也能感知到静态类型在某程度上能帮助我们写出更健壮的代码(当然要基于充分的单元测试上啦)。  ClojureScript与JavaScript一样采取动态类型,但由于需要通过Google Closure Compiler编译后才能运行,因此我们可以如同JS那样借助GCC的注解来引入编译时类型检查,达到同样静态类型的效果。 配置项目设置 GCC的编译时类型检查仅当optim
^_^肥仔John
2018/01/18
9550
js检查数据类型
javascript数据类型和typeof运算符并不完美。很多时候都不是我们预想的结果, 例如,对于数组和null,返回“object”。如果想要检查原始数据类型之外的任何内容,我们可能一些额外的检查技巧,例如判断构造函数。
IT工作者
2022/02/08
2.4K0
react 子组件向父组件传值_vue父组件给子组件传值
父组件给子组件传递数据,直接用属性名传递,子组件通过props获取父组件传递过来的值
全栈程序员站长
2022/10/03
2.8K0
cssjshtml vue.js 子向父属性绑定
注册click事件,通过$emit发送事件,参数第一位为父vue的监听事件名,第二位为所传属性isCollapse。
葫芦
2019/04/17
1.3K0
React学习(5)—— 高阶应用:prop类型检查与真实Dom操作
当应用不断增长时,可以用过类型检查发现很多bug。对于某些应用,可以使用JavaScript扩展工具来完成,比如使用 Flow 或 TypeScript 来检查整个工程。除了引入外部工具之外,React也提供了参数类型检查的功能,只需要为每一个属性指定一个 propTypes 即可:
随风溜达的向日葵
2018/08/15
1.3K0
react子父组件互相通信传值
useRef 返回一个可变的 ref 对象,其 .current 属性被初始化为传入的参数(initialValue)。返回的 ref 对象在组件的整个生命周期内持续存在。
潜心专研的小张同学
2023/01/03
1.3K0
react中父组件向子组件传值
子组件中只能使用不能修改父组件传递过来的数据!!!如果非要修改,那就父组件传递一个方法给子组件,子组件使用这个方法来改变父组件中的数据。这就是react的单项数据流(父组件传递给子组件,不可以在子组件中改变)
全栈程序员站长
2022/09/01
2.5K0

相似问题

设置FormControl的值会破坏其类型

25

XML :基于父属性类型的子元素类型

24

未检查React类型(脚本)道具

10

React.js:更改子状态也会更改父级传递的父类型。

23

React元素属性类型定义

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文