- Hi I would really like some help on how to make a search filter. I wanna be able to type in some text in the input field so the ul list filter with the same letters.
interface ICrypto {
id: string;
name: string;
}
const defaultProps:ICrypto[] = [];
const Dashboard: React.FC = () => {
const [crypto, setCryptos]: [ICrypto[], (posts: ICrypto[]) => void] = React.useState(defaultProps);
const [search, setSearch]: [string, (search: string) => void] = React.useState("");
const handleChange = (e: { target: { value: string; }; }) => {
setSearch(e.target.value);
};
const filteredCoins = crypto.filter(crypto =>
crypto.name.toLowerCase().includes(search.toLowerCase())
);
return (
<div className="App">
<ul className="posts">
<input type="text"></input>
{crypto.map((crypto) => (
<li key={crypto.id}>
<h3>{crypto.id}</h3>
<p>{crypto.current_price}</p>
<p>{crypto.symbol}</p>
<img src={crypto.image} alt="image" />
</li>
))}
</ul>
{error && <p className="error">{error}</p>}
</div>
)
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…