首页 > 解决方案 > 输入不显示初始值

问题描述

我有一个具有初始值的常数

const [userProfileDataFetched, setUserProfileData] = useState('')

上面的初始值需要设置为另一个 const :

const [profileData, setProfileData] = useState({
        name: {
            value: userProfileDataFetched.name, //Issus here: This is initial value right, this should change later ? If i write it like value= "some text" it works. This doesn't work
            validation: ['blank', 'name'],
            errorMsg: nameErrorMsg,
            errorKey: 'ename',
        }

这是文本输入:

<TextInput
                        placeholderTextColor={errors.ename ? ThemeColors.themeRed : ThemeColors.darkGrey}
                        
                        style={styles.input}
                        name={lang.name}
                        value={profileData.name.value}
                        onChangeText={text =>
                            setProfileData({
                                ...profileData,
                                ...{
                                    name: {
                                        value:text, //UPDATED
                                        validation: ['blank', 'name'],
                                        errorMsg: nameErrorMsg,
                                        errorKey: 'ename',
                                    },
                                },
                            })
                        }
                    />

标签: reactjsreact-nativereact-hooks

解决方案


在 React Native 中,更改的文本作为单个字符串参数传递给回调处理程序。所以,而不是做 onChangetext={e=>console.log(e.target.value} 你会做 onChangetext={value=>console.log(value}


推荐阅读