今天自己新搭建了一个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,这样子类型检测就可以通过了。