今天自己新搭建了一个react demo项目,写代码的过程中需要用到props.children属性,结果提示我说props上没有children这个属性,我点击去一看,新的react把props默认设置为一个空对象了。
但是现在就要用该这么办呢?
其实,我们可以用typescript提供的interface来限定props的属性
//React18中props删除了children属性,当我们的在ts环境下使用props.children会报错
//定义一个Iprops的interface,指定children属性,因为children是可有可无的,所以设置为可选属性,类型为React.ReactNode
interface IProps {
children?: React.ReactNode;
}
React18中props删除了children属性,当我们的在ts环境下使用props.children会报错
定义一个Iprops的interface,指定children属性,因为children是可有可无的,所以设置为可选属性,类型为React.ReactNode,这样子类型检测就可以通过了。
在React18中,props默认被设置为一个空对象,导致使用props.children时出现错误。为了解决这个问题,可以使用typescript的interface来定义IProps接口,将children属性指定为可选的React.ReactNode类型。这样可以确保类型检查通过,并允许使用props.children。
42

被折叠的 条评论
为什么被折叠?



