javascript - 错误:类型“void”不可分配给类型“ReactNode”
问题描述
我试图在调用函数时出错,这只是为了练习,所以我将所有内容都保存在App.tsx中。我的课看起来像这样:
enum Actor {
None = '',
}
const initializeCard = () => {
//some logic here
return card;
}
export default class App extends Component<{}, State> {
state: State ={
card: initializeCard()
}
public renderRows = () => {
const { card } = this.state;
board.map((actor, index) => this.renderRow(actor, index));
}
public renderRow = (actor: Actor, index: number) => {
return(
<div className="cell">
</div>
)
}
public render() {
return (
<div className="App">
<div>
{ this.renderRows() } // Here I'm getting the error
</div>
</div>
)
}
}
我的Package.json看起来像:
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
"@types/jest": "^24.0.0",
"@types/node": "^12.0.0",
"@types/react": "^16.9.0",
"@types/react-dom": "^16.9.0",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-scripts": "3.4.1",
"typescript": "~3.7.2"
}
完整的错误如下:
类型 'void' 不可分配给类型 'ReactNode'.ts(2322) index.d.ts(1348, 9):预期类型来自属性 'children',它在类型 'DetailedHTMLProps, HTMLDivElement>' 上声明
我已经搜索了这个错误的解决方案并找到了这个,但我无法用这个解决方案解决我的问题。请让我知道我该如何解决这个问题。谢谢。
解决方案
你需要从你的函数中返回一些东西。
功能在哪里renderCell
?也许你的意思是renderRow
?
推荐阅读
- java - 使用 java 订阅精确的在线 webhook
- python-3.x - 如何找出文件中有多少行、多少字和多少个字符?
- javascript - 在localStorage中选中复选框时如何存储直通?
- java - Spring MockMvc:断言Json字段是空数组或不存在
- c# - 如何按不包括第一行的列对数据进行排序
- angular - 如何在输入上重新应用角管
- java - 为什么在通过 OSHI API 从传感器检索信息时会发生这种情况?
- typescript - 如何在 VS Code 上使用 typescript 调试feathersjs?
- reactjs - React 钩子更新多个状态变量
- mysql - SQLSTATE[HY000] [1045] 用户 'qualitym_yaseen'@'localhost' 的访问被拒绝(使用密码:YES)