interface INewProps {
_param_1: boolean,
_param_2: boolean
_param_3: boolean
}
class TestClass extends React.Component<INewProps, IState>{
constructor(props: IProps) {
super(props)
this.state = {}
}
render() {
return (<Text></Text>)
}}
如果我称之为有效,但是;
<TestClass
_param_1={false}
_param_2={false}/>
如果我叫它有效,但是我在编辑器中的TSLint表示
Property '_param_3' is missing in type '{ _param_1: false; _param_2: false; }' but required in type 'Readonly<INewProps>'.ts(2741)
SideControl.tsx(89, 5): '_param_3' is declared here.
我只需要传递2个道具, 有什么解决办法吗?这是我需要遵循的正确方法吗?
其他类使用此接口传递3个道具。 那么我如何设法通过2传递道具呢?是否可以在不创建新界面的情况下实现? 类型脚本中的Patial是否与此相关?
答案 0 :(得分:1)
您可以像这样在界面中将参数设为可选:
interface INewProps {
_param_1: boolean,
_param_2: boolean
_param_3?: boolean
}
请注意第三个参数上的问号。
在此处详细了解可选参数:https://www.typescriptlang.org/docs/handbook/interfaces.html#optional-properties