Abh*_*hal 14 node.js typescript reactjs
我在下面的代码中使用了reactJS和typescript.在执行命令时,我得到以下错误.
我还添加了import语句import'bootstrap/dist/css/bootstrap.min.css'; 在Index.tsx中.
有没有办法解决这个问题?
npm start
client/src/Results.tsx
(32,21): Missing "key" prop for element.
Run Code Online (Sandbox Code Playgroud)
该文件如下"Results.tsx"
import * as React from 'react';
class Results extends React.Component<{}, any> {
constructor(props: any) {
super(props);
this.state = {
topics: [],
isLoading: false
};
}
componentDidMount() {
this.setState({isLoading: true});
fetch('http://localhost:8080/topics')
.then(response => response.json())
.then(data => this.setState({topics: data, isLoading: false}));
}
render() {
const {topics, isLoading} = this.state;
if (isLoading) {
return <p>Loading...</p>;
}
return (
<div>
<h2>Results List</h2>
{topics.map((topic: any) =>
<div className="panel panel-default">
<div className="panel-heading" key={topic.id}>{topic.name}</div>
<div className="panel-body" key={topic.id}>{topic.description}</div>
</div>
)}
</div>
);
}
}
export default Results;
Run Code Online (Sandbox Code Playgroud)
kLa*_*abz 30
您正在渲染一个元素数组,因此React需要key
prop(1)来识别元素并优化事物.
添加key={topic.id}
到您的jsx:
return (
<div>
<h2>Results List</h2>
{topics.map((topic: any) =>
<div className="panel panel-default" key={topic.id}>
<div className="panel-heading">{topic.name}</div>
<div className="panel-body">{topic.description}</div>
</div>
)}
</div>
);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15179 次 |
最近记录: |