javascript - 如何在 React 中单击按钮时从服务器转储数据?
问题描述
我正在尝试通过 fetch 函数从服务器获取数据。但我需要在这些按钮之后显示这些数据。如果没有按钮,则显示数据。这是我的代码:
import React, {Component} from "react";
export default class Ccomponent extends Component{
constructor(props){
super(props);
this.state = {
items: [], index: ''
};
}
componentDidMount(){
fetch("https://jsonplaceholder.typicode.com/users")
.then(res => res.json())
.then(
(result) => {
this.setState({
items: result
});
}
)
}
render(){
const {items} = this.state;
return(
<div>
<button key={index}
onClick={() => {
{items.map(item => (
<blockquote>
<i key={item.name}>
Name: </i> {item.name};
</blockquote>
))}
}}>klik</button>
</div>
)
}
}
解决方案
export default class Ccomponent extends Component{
constructor(props){
super(props);
this.state = {
items: [], index: '', showResult: false
};
}
handleClick() {
this.setState({showResult: true});
}
componentDidMount(){
fetch("https://jsonplaceholder.typicode.com/users")
.then(res => res.json())
.then(
(result) => {
this.setState({
items: result
});
}
)
}
render(){
const {items} = this.state;
return(
<div>
<button key={index} onClick={this.handleclick.bind(this)}>klik</button>
{showResults ?
items.map(item => (
<blockquote>
<i key={item.name}>
Name: </i> {item.name};
</blockquote>
))
: null
}
</div>
)
}
}
推荐阅读
- php - Woocommerce 中的自定义类别和标签页标题
- powershell - 从 ssh 运行时无法识别 Powershell
- database - 基于 HSQL 文件的数据库的 HikariCP 失败
- java - 提供程序类 org.eclipse.jetty.http.Http1FieldPreEncoder 不在模块中
- visual-studio-2015 - 无法将自动化测试与测试用例关联
- xamarin - 在 iOS 和 Android 上使用 Xamarin 时,是否可以强制 Edge (Chromium) 作为 WebView?
- reactjs - 引用其他组件时测试样式组件
- sql - SQL - SUM 但过滤 2 max 列
- ssh - ssh 和 sudo:pam_unix(sudo:auth):对话失败,auth 无法识别 [username] 的密码
- sql-server - MS SQL:XML 翻译器