Неожиданный токен, ожидаемый «,» в react-native expo

#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}
]}
 

Например. Но это зависит от того, какую форму данных вы ожидаете.