Sam*_* I. 6 javascript typescript reactjs
因此,您可以将类型分配给React.FC<PropsType>变量,以便将其理解为React无状态功能组件,如下所示:
//Interface declaration
interface ButtonProps {
color: string,
text: string,
disabled?: boolean
}
// Function Component
let Button: React.FC<ButtonProps> = function(props){
return <div> ... </div> ;
}
Run Code Online (Sandbox Code Playgroud)
但是,我很难理解如何将相同类型分配给作为函数声明构建的FC:
//Props interface already declared
function Button(props){
render <div> ... </div>;
}
Run Code Online (Sandbox Code Playgroud)
我可以将类型分配给props参数,这会有所帮助,因为它将显示我希望从调用方获得的内容(减去childrenprop),但我认为这对调用上下文中的任何智能都无济于事。我也不知道将什么设置为第二个示例的返回类型。
谢谢!
不确定您现在是否已经找到答案,但是向命名函数添加静态类型与您在初始示例中的做法几乎相同
根据您的示例:
//Props interface already declared
function Button(props): React.ReactElement<Props> {
render <div> ... </div>;
}
// Or you could store the function in a named variable
const ButtonComponent: React.FunctionComponent<Props> = function Button(props): React.ReactElement<Props> {
render <div> ... </div>;
}
// Using shorthand type
const ButtonComponent: React.FC<Props> = function Button(props) {
render <div> ... </div>;
}
Run Code Online (Sandbox Code Playgroud)
您可以在本文中阅读有关添加类型以响应组件的更多信息
注意:最佳实践是使用
React.FC而不是React.SFC因为它现在在最新版本的 React 中已被弃用
| 归档时间: |
|
| 查看次数: |
469 次 |
| 最近记录: |