【发布时间】:2021-05-31 13:40:36
【问题描述】:
我是 react-typescript 的新手,我正在做一个项目,该项目使用搜索栏来查找我从数据库中获取的数据。
我在 stackoverflow 中找到了结果,有人使用 React Js 编写了答案。但我想要 React-Typescript 中的答案: 反应代码如下:
class BodyData extends React.Component {
state = {
query: "",
data: [],
filteredData: []
};
handleInputChange = event => {
const query = event.target.value;
this.setState(prevState => {
const filteredData = prevState.data.filter(element => {
return element.name.toLowerCase().includes(query.toLowerCase());
});
return {
query,
filteredData
};
});
};
getData = () => {
fetch(`http://localhost:4000/restaurants`)
.then(response => response.json())
.then(data => {
const { query } = this.state;
const filteredData = data.filter(element => {
return element.name.toLowerCase().includes(query.toLowerCase());
});
this.setState({
data,
filteredData
});
});
};
componentWillMount() {
this.getData();
}
render() {
return (
<div className="searchForm">
<form>
<input
placeholder="Search for..."
value={this.state.query}
onChange={this.handleInputChange}
/>
</form>
<div>{this.state.filteredData.map(i => <p>{i.name}</p>)}</div>
</div>
);
}
}
> I want the sample autocomplete textbox code in React-Typescript
【问题讨论】:
-
您是否遇到了某些类型的问题?
-
状态初始化部分和this.setstate部分。
标签: reactjs react-redux react-hooks react-typescript