【发布时间】:2020-08-27 12:44:23
【问题描述】:
我的 JSX 不会正确显示在我的 React 网页上,而是得到以下输出:
<div class='card'>NaNSasha<img src= NaN />Boddy Cane</div>.
组件:
import React, {Component} from 'react';
import 'bootstrap/dist/css/bootstrap.min.css';
class App extends Component{
state = {
string : '',
}
componentDidMount(){
let posts = [
{
title: 'somebody toucha my spaghet',
author: 'Karen',
image:'https://media-cdn.tripadvisor.com/media/photo-s/11/69/c7/f9/spagetti.jpg',
location: 'Jimmy John',
description: 'This spagetti is amazing'
},
{
title: `I love food`,
author: 'Sasha',
image:'https://hoodline.imgix.net/uploads/story/image/610603/donuts2.jpg?auto=format',
location: 'Boddy Cane',
description: 'cjndwsijnjcinjw'
}
];
for(let i =0; i < posts.length; i ++){
const header = `<div class='card'>${+posts[i].title}`;
const body = posts[i].author;
const image = `<img src= ${+posts[i].image} />`;
const description = `${posts[i].location}</div>`;
const concatThis = header + body + image + description
this.setState({
string: concatThis
});
};
};
render(){
return(
<div className='container'>
{this.state.string}
</div>
)
}
}
export default App;
P.S 我是学生
【问题讨论】:
-
请阅读How to Ask和stackoverflow.com/help/formatting。来自How to Ask:不要试图把你的整个问题塞进标题,也不要把整个问题都写成你的代码。添加一些描述问题、您所期望的内容等的文本。
-
为什么会有 +
<img src= ${+posts[i].image} />和标题? -
我知道这不是一个答案,但是您编写代码的方式既难以阅读又难以编写。使用列表渲染 -> reactjs.org/docs/lists-and-keys.html,然后问一个问题,为什么名称弹出为
NaNSasha而不是。 :)
标签: javascript reactjs concatenation jsx