#javascript #reactjs #react-native
Вопрос:
Я понятия не имею, что означает эта ошибка. Некоторое время назад все работало нормально, и я не трогал этот код. Я вернулся на эту страницу и получил эту ошибку:
Failed prop type: Invalid prop `value` of type `array` supplied to `ForwardRef(TextInput)`, expected `string`
Это должно быть как-то связано с панелью поиска, но я понятия не имею, что именно.
import React, { useEffect, useState } from 'react';
import { View, Text, FlatList, SafeAreaView, Image } from 'react-native';
import { Card, SearchBar } from 'react-native-elements'
import { styles } from './styles.js';
const FormsScreen = ({navigation, route}) => {
const [formsArray, setFormsArray] = useState([]);
const [search, setSearch] = useState([null]);
//Fetch all users from database
useEffect(() =>{
fetch('http://10.0.2.2:5000/forms').then(response =>{
if(response.ok){
return response.json();
}
}).then(data => setFormsArray(data));
}, []);
return (
<SafeAreaView>
<SearchBar
placeholder="Type Here..."
onChangeText={ (text) => {setSearch({text}); } }
value={search}
/>
<FlatList
keyExtractor={(item) => item.ID.toString() }
// style = {styles.List}
data={formsArray}
renderItem={({item}) => (
<Card>
<Card.Title>{item.ID}</Card.Title>
<Card.Divider/>
<View style={styles.Container}>
<Text>{item.Comments}</Text>
{/* <Image source={require('./System apps/Media Manager/Gallery/AppPhotos/45e5cefd-7798-4fe9-88de-86a0a15b7b9f.jpg')} /> */}
<Text>{item.RoadName}</Text>
</View>
<View style={styles.ListContainer}>
<Text style={styles.LabelText}>Name</Text>
<Text style={styles.LabelText}>Phone</Text>
<Text style={styles.LabelText}>Email</Text>
</View>
<View style={styles.ListContainer}>
<Text style={styles.CardText}>{item.Name}</Text>
<Text style={styles.CardText}>{item.Phone}</Text>
<Text style={styles.CardText}>{item.Email}</Text>
</View>
</Card>
)}
/>
</SafeAreaView>
);
}
export default FormsScreen;
Что именно здесь происходит?
Ответ №1:
попробуй вот так
const [search, setSearch] = useState({text: ''});
<SearchBar
placeholder="Type Here..."
onChangeText={ (text) => {setSearch({text}); } }
value={search.text}
/>
Комментарии:
1. По какой-то причине мой проект потерял файл цветов, поэтому я не могу запустить свое приложение прямо сейчас. Я попробую это сделать, как только все исправлю.