javascript - 如何通过反应中的提交按钮选择随机api
问题描述
我通过单击按钮在 api 中选择随机数据,不工作我的代码代码需要 submitChange 函数中的代码
export class MemeGenerator extends React.Component {
constructor (props) {
super(props)
this.state = {
apiData: []
}
this.submitChange = this.submitChange.bind(this)
}
componentDidMount () {
fetch('https://api.imgflip.com/get_memes')
.then(response => response.json())
.then(data => {
this.setState({
apiData: data
})
console.log(this.state.apiData)
})}
OnChange 函数 ???????
submitChange () {
}
并从 api 渲染 select img
render () {
return (
<div>
<form onSubmit={this.submitChange}>
<button onClick={this.submitChange} value='Submit'>Gen</button>
<div>
<img src='http://i.imgflip.com/1bij.jpg' onLoad={this.loadImg} />
</div>
</form>
</div>
)}}
解决方案
export class MemeGenerator extends React.Component {
constructor (props) {
super(props)
this.state = {
apiData: []
}
this.submitChange = this.submitChange.bind(this)
}
componentDidMount () { /* fetch something as default here to show user or nothing till user pushes Gen button*/}
submitChange (name) {
fetch(`https://api.imgflip.com/${name}`)
.then(response => response.json())
.then(data => {
this.setState({
apiData: data
})
console.log(this.state.apiData)
})
}
render () {
return (
<div>
<form onSubmit={this.submitChange}>
/* you should decide whre to get this name from an array of names from state? hardcode enum ...*/
<button onClick={this.submitChange({name})} value='Submit'>Gen</button>
<div>
<img src='http://i.imgflip.com/1bij.jpg' onLoad={this.loadImg} />
</div>
</form>
</div>
)}}
推荐阅读
- ios - 使用 ReplayKit 广播时将 CMSampleBuffer 转换为 .mov
- here-api - “这些凭据不授权访问”(403)
- pyspark - Pyspark,如何使用udf计算泊松分布?
- php - Google 访问令牌不会在离线访问时自动刷新
- python - docker:来自守护进程的错误响应:OCI 运行时创建失败:没有这样的文件或目录”:未知
- build - Fortran 新手:如何在 Geany 中编译/构建多个 Fortran 文件
- python - 无法在 django 中编写动态元标记
- java - Apache POI - 饼图 - java.lang.IllegalStateException:类别和值必须具有相同的点数
- python - 无法将“版本”解析为有效参考。运行 git 标签时
- python - 如何将带注释的查询限制为 Django ORM 中的单个列?