Fir*_*php 4 javascript components reactjs
我似乎对这个校长有一个很好的理解,这让我可以顺便过去,直到现在.我正在为所有迭代器的所有孩子应用一个关键道具,但我仍然得到这个警告.
A FacilitiesContainer渲染a FacilitiesComponent,后者又渲染一个列表Facilities,其中列出了一个列表Courses.A Course不使用迭代器.然而,FacilitiesContainer正在FacilitiesComponent通过一个HOC,它正在返回最终组件.HOC中没有任何内容可以修改传递的组件,所以我不确定这是否是一个问题.
// The render method of FacilitiesContainer
render = () => {
let FacilitiesWithSearch = SearchHOC(
BasicSearch,
FacilitiesComponent,
{data: this.state.facilities }
);
return <FacilitiesWithSearch />;
}
class FacilitiesComponent extends Component {
renderFacilities = () => (
this.props.data.map((facilityData, index) =>
<Facility key={index} data={facilityData} />
)
)
render = () => (
<Grid>
<Row>
<Col xs={12} sm={8} smOffset={2} md={8} mdOffset={1}>
{
this.props.data.length > 0
? this.renderFacilities()
: <div>No results</div>
}
</Col>
</Row>
</Grid>
)
}
const Facility = ({ data }) => (
<Panel>
<Panel.Heading>
<Panel.Title>{data.Name}</Panel.Title>
</Panel.Heading>
<Panel.Body>
<Grid>
<Row>
<p><b>Address:</b><br />
{data.Street}<br />
{data.City}, {data.State} {data.Zip}
</p>
<p><b>Phone:</b> {data.Phone}</p>
{
data.Courses.map((courseData, index) =>
<p><Course key={index} data={courseData} /></p>)
}
</Row>
</Grid>
</Panel.Body>
</Panel>
);
Run Code Online (Sandbox Code Playgroud)
你确实没有p在这里提供元素的键:
{
data.Courses.map((courseData, index) =>
<p><Course key={index} data={courseData} /></p>)
}
Run Code Online (Sandbox Code Playgroud)
应该
{
data.Courses.map((courseData, index) =>
<p key={index}><Course data={courseData} /></p>)
}
Run Code Online (Sandbox Code Playgroud)