Ich habe eine Liste von Arrays und wenn ich anfange, in die inputListe von Arrays einzugeben, wird entsprechend gefiltert value. Es funktioniert, aber ich verliere den Fokus, inputnachdem ich ein Zeichen eingegeben habe.
Mein Code:
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>
)
}
Anstatt zurückzukehren, <Desktop/>wenn ich direkt setze
<input
type="text"
placeholder="Search"
value={searchTerm}
onChange={handleChange}
/>
<View style={{width:100, height:100, backgroundColor:'red'}}>
{results.map(item => (
<Text>{item}</Text>
))}
</View>
Es wird klappen. Irgendeine Idee, wie man dieses Problem behebt?
Jeder Rat oder Kommentar wird geschätzt!
Danke im Voraus!