Javascript 如何根据JSON文件中的布尔值自动更改img
我有一个JSON文件:Javascript 如何根据JSON文件中的布尔值自动更改img,javascript,json,reactjs,Javascript,Json,Reactjs,我有一个JSON文件: [ { "id": 1, "availability": false }, { "id": 2, "availability": true } ] 我想要实现的是,如果可用性:true自动显示勾号图像,如果可用性:false自动显示十字图像 例如,以下是两个图像的名称: tick.jpg cross.jpg 这是我目前的代码: import React, { Component } from "react"; import "./styles.css";
[
{
"id": 1,
"availability": false
},
{
"id": 2,
"availability": true
}
]
我想要实现的是,如果可用性:true
自动显示勾号图像,如果可用性:false
自动显示十字图像
例如,以下是两个图像的名称:
tick.jpg
cross.jpg
这是我目前的代码:
import React, { Component } from "react";
import "./styles.css";
class GetOnlinePosts extends Component {
constructor(props) {
super(props);
this.state = {
error: null,
isLoaded: false,
posts: []
};
}
componentDidMount() {
fetch("https://api.myjson.com")
.then(response => response.json())
.then(
result => {
this.setState({
isLoaded: true,
posts: result
});
},
error => {
this.setState({
isLoaded: true,
error
});
}
);
}
render() {
const { error, isLoaded, posts } = this.state;
const orderedPosts = [
...posts.filter(post => post.availability),
...posts.filter(post => !post.availability)
];
if (error) {
return <div>Error in loading</div>;
} else if (!isLoaded) {
return <div>Loading ...</div>;
} else {
return (
<div>
<div className="tiles">
{orderedPosts.map(post => (
<div key={post.id}>
<div className="tile"></div>
</div>
))}
</div>
</div>
);
}
}
}
export default GetOnlinePosts;
import React,{Component}来自“React”;
导入“/styles.css”;
类GetOnlinePosts扩展组件{
建造师(道具){
超级(道具);
此.state={
错误:null,
isLoaded:false,
员额:[]
};
}
componentDidMount(){
取回(“https://api.myjson.com")
.then(response=>response.json())
.那么(
结果=>{
这是我的国家({
isLoaded:是的,
职位:结果
});
},
错误=>{
这是我的国家({
isLoaded:是的,
错误
});
}
);
}
render(){
const{error,isLoaded,posts}=this.state;
常量orderedPosts=[
…posts.filter(post=>post.availability),
…posts.filter(post=>!post.availability)
];
如果(错误){
加载时返回错误;
}否则,如果(!已加载){
返回装载。。。;
}否则{
返回(
{orderedPosts.map(post=>(
))}
);
}
}
}
导出默认GetOnlinePosts;
不幸的是,我无法将图像包含在带有JSON的文档中。我希望图像位于
中,因此任何关于如何执行此操作的帮助都将非常有用。提前感谢。