0
我想从API获取数据并在反应中显示/隐藏数据。我得到的数据很好,但隐藏按钮不起作用。数据总是显示。我的反应比较新,而且真的很想学习它。这里是我的代码:(那将是巨大的,如果有人建议我在哪里可以了解更多关于网络上的反应)显示/隐藏数据与提取API反应
import React from 'react';
import {render} from 'react-dom';
class Series extends React.Component {
constructor() {
super();
this.state = {
showSeries: false
};
}
render() {
const serieses = this._GetList();
let seriesNodes;
let buttonText = 'Show Series';
if (this.state.showMangas) {
seriesNodes = <div>{serieses}</div>;
buttonText = 'Hide Series';
}
return (<div>
<button onClick={this._handleClick.bind(this)}>{buttonText}</button>
{seriesNodes}
</div>
);
}
_GetList() {
var myInit = {
method: 'GET',
headers: new Headers({
'Content-Type': 'text/plain'
}),
}
var myRequest = new Request('data.json', myInit);
fetch(myRequest)
.then(function (response) {
return response.json()
.then(function (json) {
console.log(json)
json.manga.map((item) => {
var li = document.createElement('li');
// for (var i = 0; i < (item).length; i++) {
li.innerHTML = 'Name: ' + item.t + ', Genre: ' + item.c + ' Hit Count: ' + item.h;
document.getElementById('myDiv').appendChild(li);
// }
})
})
})
.catch(function (error) {
console.log('There has been a problem with your fetch operation: ' + error.message);
});
return (
<div>
<div></div>
</div>
)
}
_handleClick() {
this.setState({showSeries: !this.state.showSeries});
}
}
render(<Series />, document.getElementById('myDiv'));