Tôi có một danh sách mảng và khi tôi bắt đầu gõ vào inputdanh sách mảng sẽ lọc tương ứng với value. Nó hoạt động nhưng tôi mất tập trung inputsau khi gõ một ký tự.
Mã của tôi:
const MyPage = (props) => {
const [searchTerm, setSearchTerm] = useState("");
const results = !searchTerm
? people
: people.filter(person =>
person.toLowerCase().includes(searchTerm.toLocaleLowerCase())
);
const handleChange = event => {
setSearchTerm(event.target.value);
};
const Desktop = ({ children }) => {
const isDesktop = useMediaQuery({ minWidth: 992 })
return (
isDesktop?
<View>
<input
type="text"
placeholder="Search"
value={searchTerm}
onChange={handleChange}
/>
<View style={{width:100, height:100, backgroundColor:'red'}}>
{results.map(item => (
<Text>{item}</Text>
))}
</View>
</View>
:null
)
}
return(
<View style={{width:'100%',justifyContent:'center'}}>
<Desktop/>
</View>
)
}
Thay vì trở về <Desktop/>nếu tôi trực tiếp đặt
<input
type="text"
placeholder="Search"
value={searchTerm}
onChange={handleChange}
/>
<View style={{width:100, height:100, backgroundColor:'red'}}>
{results.map(item => (
<Text>{item}</Text>
))}
</View>
Nó sẽ làm việc. Bất kỳ ý tưởng làm thế nào để khắc phục vấn đề này?
Bất kỳ lời khuyên hoặc nhận xét sẽ được đánh giá cao!
Cảm ơn trước!