typescript官方错误信息列表,简单说就是我们使用的state中的数据,必须要在一开始用泛型去规定一下类型,防止错误类型的数据传进来。
如果想深入了解,可以参考官方文档: typescript–泛型
接下来我说一下我的解决方法,我的解决方法是参考了这篇文章: 原文链接 ,以下是我出现问题时的主要代码:
class ChapterList extends React . Component {
constructor ( prop ) {
super ( prop )
this . state = {
// 章、节 chapter section
chapterId : 0 ,
chapterName : '第五章' ,
chapterContent : [
{
sectionId : 0 ,
sectionName : '第一节' ,
subsectionNum : 2 ,
subsection : [
{
subsectionId : 0 ,
subsectionName : '第一小节'
} ,
{
subsectionId : 1 ,
subsectionName : '第二小节'
}
]
}
]
}
}
handleClick = ( e ) => {
console . log ( 'click ' , e ) ;
}
render ( ) {
return (
< Menu
onClick = { this . handleClick }
defaultSelectedKeys = { [ '1' ] }
defaultOpenKeys = { [ 'sub1' ] }
mode = "inline"
>
< div style = { { height : "150px" , textAlign : "center" , backgroundColor : "#2e92cd" } } >
< h1 style = { { lineHeight : "100px" , fontSize : "30px" } } > { this . state . chapterName } < / h1 > < br / >
< h4 style = { { color : "white" } } > 一次函数 < / h4 >
< / div >
< / Menu >
)
}
}
改正之后的代码:
class ChapterList extends React . Component
< {
navList ? : any
} ,
{
chapterId ? : number
chapterName ? : string
chapterContent ? : object
}
>
{
constructor ( prop ) {
super ( prop )
this . state = {
// 章、节 chapter section
chapterId : 0 ,
chapterName : '第五章' ,
chapterContent : [
{
sectionId : 0 ,
sectionName : '第一节' ,
subsectionNum : 2 ,
subsection : [
{
subsectionId : 0 ,
subsectionName : '第一小节'
} ,
{
subsectionId : 1 ,
subsectionName : '第二小节'
}
]
}
]
}
}
handleClick = ( e ) => {
console . log ( 'click ' , e ) ;
}
render ( ) {
return (
< Menu
onClick = { this . handleClick }
defaultSelectedKeys = { [ '1' ] }
defaultOpenKeys = { [ 'sub1' ] }
mode = "inline"
>
< div style = { { height : "150px" , textAlign : "center" , backgroundColor : "#2e92cd" } } >
< h1 style = { { lineHeight : "100px" , fontSize : "30px" } } > { this . state . chapterName } < / h1 > < br / >
< h4 style = { { color : "white" } } > 一次函数 < / h4 >
< / div >
< / Menu >
)
}
}
也就是在创建类的时候,规定一下state里数据的类型,可以自己对比一下。
总结 :因为之前没有系统的看过typescript的文档,直接就上手了项目,导致现在遇到一些小问题,不过好在这些小问题网上都有现成的解决方案,把问题解决掉,总结下来,就变成了自己的东西,用项目去驱动学习,这样印象会更加深刻。就算我前期看了文档,估计实际写的时候也不会想到这个问题。
查看更多关于【前端】关于react+typescript遇到的“泛型约定组件状态”,报错:Property ‘*的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did223306