reactjs - TS React:buildArray 不是函数
问题描述
最小化我当前的问题,我有这个:
// inside a functional component
const buildArray: any = ["1", "2"].map((value: string, index) => {
return (
<li key={`${value}`}>{value}</li>
)
});
return (
<div>
<StyledTopNav>
{buildArray()}
</StyledTopNav>
</div>
)
TypeError: buildArray is not a function
push../src/components/TopNav.tsx.__webpack_exports__.default
src/components/TopNav.tsx:42
39 |
40 | return (
41 | <div>
> 42 | <StyledTopNav>
| ^ 43 | {buildArray()}
44 | </StyledTopNav>
45 | </div>
有人知道这个问题吗?li
当我直接在样式化的JSX 组件中编写元素时ul
,一切正常(但是li
's 之间存在代码重复。我复制ul
下面的样式以防万一。
const StyledTopNav = styled.ul`
text-decoration: none;
display: flex;
flex-flow: row wrap;
justify-content: space-around;
list-style-type: none;
border: 2px dashed orange;
`;
解决方案
错误在 的声明中buildArray
,您可以使用以下代码将其声明为函数:
const buildArray = () => {
return [0, 1, 2, 3].map(i => {
return (
<div>
{i}
</div>
)
})
}
推荐阅读
- html - 如何删除从动画创建的边框
- discord - 使语音通道的批处理静音机器人只能由服务器管理员访问
- string - 如何在Scala中将String(类型为Map [String,String])转换为常规Map
- xml-parsing - 无法使用 tcl 和 tdom 解析具有多个名称空间的 XML
- java - 将多条记录添加到列表
- >
- android - 使用 Kotlin 从 Room 数据库中删除项目
- c - 在线 C 编译器中对“main”的未定义引用
- javascript - 将选定属性设置为动态制表的选项列表
- android - 为什么 TalkBack 会宣布“返回”?
- mysql - 如何根据相同的列名连接两个 MySQL 表?