reactjs - 从我的 api 呈现值的问题
问题描述
我需要渲染从我的 api 获得的 maxoffer,但是当我尝试渲染它说未定义的值时,如何在第一次尝试时渲染它?
这是我的代码
const [vPayrollBureauMaxOffer, setvPayrollBureauMaxOffer] = useState();
const [vPayrollAmount, setvPayrollAmount] = useState(vPayrollBureauMaxOffer);
useEffect(() => {
let isUnmount = false
async function Request() {
const {data} = await ForceApi.post(`/someapi.php`);
setvPayrollBureauMaxOffer(data.vPayrollBureauMaxOffer);
}
Request();
return () => {
setisLoading(false);
isUnmount = true
}
}, []);
return (
<View style={styles.inputContainer2}>
<Text style={styles.inputs2}>$</Text>
<TextInput
style={styles.inputs}
placeholder={`${vPayrollAmount}`}
placeholderTextColor={theme.SECONDARY_TEXT_COLOR}
keyboardType={'numeric'}
underlineColorAndroid="transparent"
autoCorrect={false}
autoCapitalize="characters"
value= {`${vPayrollAmount}`}
onChangeText={setvPayrollAmount}
/>
</View>
);
解决方案
好的,我注意到您的代码中有一些内容。第一件事是你没有为你的第一个初始状态设置值,所以我将它设置为一个空字符串其次你的vPayrollAmount
值不会随着变化而自动更新,vPayrollBureauMaxOffer
所以没有必要按照你现在的方式设置它。只是让它空
const [vPayrollBureauMaxOffer, setvPayrollBureauMaxOffer] = useState('');
const [vPayrollAmount, setvPayrollAmount] = useState('');
接下来,您应该设置另一个 useEffect 来监听vPayrollBureauMaxOffer
值的变化以更新vPayrollAmount
useEffect(() => {
setvPayrollAmount(vPayrollBureauMaxOffer)
}, [vPayrollBureauMaxOffer]);
推荐阅读
- python - 使用列和行索引作为变量填充 pandas 数据框
- java - 如何分析以下代码的增长?
- react-native - React-Native SectionList 滚动到Android上的项目
- django - django pandas数据框下载为excel文件
- xproc - XProc 3 可以处理任何 XPath 3.1 值/类型吗?
- pycharm - pycharm 中的 Python 控制台有时会将结果写入控制台顶部,从而与早期内容发生冲突
- c - 用于在 btrfs 中设置文件和目录时间戳的 API
- python - Django 虽然安装了但找不到 Pillow
- html - 标题旁边的多余空间
- vue.js - 单击时如何更改按钮的颜色?(Vue)