javascript - 如何将搜索输入从类组件传递到单独的 api 组件
问题描述
**its a recipe app and i'm stuck on passing search input to the api.
this are two separate components**
这是进行搜索的组件:
class Search extends Component {
state = {
search: ""
};
handleChange = e => {
this.setState({
[e.target.name]: e.target.value
});
};
handleSubmit = (e) => {
e.preventDefault();
}
render() {
return (
<div>
<form onSubmit={this.handleSubmit}>
<input
type="text"
name="search"
value={this.state.search}
onChange={this.handleChange}
/>
<button type="submit">
Search
</button>
</form>
</div>
);
}
}
export default Search;
我在状态搜索组件中尝试该值将传递给 api: 当前我正在获取状态是未定义的,并且在使用道具时相同
const key = "***";
const url = `https://www.food2fork.com/api/search?key=${key}&q=${this.state.search}&page=2`;
export const recipesData = () =>{
const recipesData = fetch(url).then(res => res.json());
return recipesData;
解决方案
将方法添加到您的类或将状态传递给receiptsData 函数;
export const recipesData = (search) =>{
const url = `https://www.food2fork.com/api/search?key=${key}&q=${search}&page=2`;
const recipesData = fetch(url).then(res => res.json());
return recipesData;
或者
class Search extends Component {
state = {
search: ""
};
handleChange = e => {
this.setState({
[e.target.name]: e.target.value
});
};
handleSubmit = (e) => {
e.preventDefault();
const url = `https://www.food2fork.com/api/search?key=${key}&q=${this.state.search}&page=2`;
fetch(url)
.then(res => res.json())
.then(res => {
console.log(res);
})
}
render() {
return (
<div>
<form onSubmit={this.handleSubmit}>
<input
type="text"
name="search"
value={this.state.search}
onChange={this.handleChange}
/>
<button type="submit">
Search
</button>
</form>
</div>
);
}
}
export default Search;
推荐阅读
- java - 用于块 Blob 的 Azure 存储服务 REST API:内容长度问题
- java - 如何判断在 IntelliJ 中调试时是否触发了 Java 异常?
- excel - 删除最后几个工作日
- android - 所有 com.android.support 库必须使用完全相同的版本,发现版本 28.0.0-alpha3、23.2.1
- http-status-code-404 - 如何在 Laravel 5.6 中创建自定义 404 页面?
- r - 在 writeLines 中将一些元素放在一起
- html - Grid - CSS 自动调整大小,自动填充向右对齐
- matlab - 什么是乘以稀疏 * 密集矩阵的绝对最快的软件包/软件
- javascript - 对象在控制台中打印但不能使用它来设置状态 - ReactJS
- delphi - 运行时等效于为 TClientDataSet 和 TSQLQuery 分配本地数据...