#javascript #react-native #expo
#javascript #react-native #expo
Вопрос:
Я использую RNPickerSelect и пытаюсь добавить динамическое значение в выпадающий список. Ошибка, которую я получаю как «Неожиданный токен, ожидаемый «,»». Ниже приведен сценарий, который я использую.
const RegisterScreen = ({ navigation }) => {
const [value, setValue] = useState(undefined);
useEffect(() => {
var value = AsyncStorage.getItem('userData').then(
(values) => {
setValue(JSON.parse(values))
});
}, [])
if (!value) {
return null;
}
return (
<Background>
<View style={styles.mainPanel}>
<View styles={styles.heading}>
<Header>
<TouchableOpacity onPress={() => navigation.navigate('Dashboard')}><ImageBackground source={require('../assets/arrow_back.png')} style={styles.backButton}></ImageBackground></TouchableOpacity>
Fund Transfer
</Header>
</View>
<View style={styles.mainviewBackground}>
<View>
<Text>Debit From Account :</Text>
<RNPickerSelect
onValueChange={(value) => console.log(value)}
items={[
{ label: { value.accounts1 }, value: { value.accounts1 } }
]}
/>
</View>
Внутри значения элементов RNPickerSelectm я пытаюсь извлечь данные из значений.
Комментарии:
1. можете ли вы попытаться записать значения AsyncStorage?
2. @baymax да, я сделал. Это печать. Если я помещу {value.accounts1} рядом с Debit From Account, он печатается, но не внутри метки элементов
3. пожалуйста, обновите свой полный код в форматированном стиле.
Ответ №1:
Трудно сказать, когда форма значений не указана. Но если они являются объектами, вы могли бы попробовать:
items={[
{ label: ...value.accounts1, value: ...value.accounts1 }
]}
Это даст вам тот же объект по метке и значению. Или, если вам нужны конкретные значения, просто:
items={[
{ label: value.accounts1.label, value: value.accounts1.value}
]}
Например. Но это зависит от того, какую форму данных вы ожидаете.