Javascript 文本输入的react本国代码前缀
试图设置一个包含客户地址和电话号码的表单,但API只接受附有国家代码的电话号码。所以我需要通过代码添加它 我用下面的代码试过了,但似乎总是漏掉最后一个数字Javascript 文本输入的react本国代码前缀,javascript,reactjs,typescript,react-native,expo,Javascript,Reactjs,Typescript,React Native,Expo,试图设置一个包含客户地址和电话号码的表单,但API只接受附有国家代码的电话号码。所以我需要通过代码添加它 我用下面的代码试过了,但似乎总是漏掉最后一个数字 export default function ShippingAddressForm(props: Props) { let { address, onChangeAddress } = props; let [phoneState, setPhoneState] = useState<string>(''); &
export default function ShippingAddressForm(props: Props) {
let { address, onChangeAddress } = props;
let [phoneState, setPhoneState] = useState<string>('');
<TextInput
label={t('Phone Number')}
textContentType="telephoneNumber"
value={phoneState}
onChangeText={(number) => {
setPhoneState(number)
let phone = '+61' + phoneState
onChangeAddress({ ...address, phone })
}}
/>
}
导出默认函数ShippingAddressForm(props:props){
设{address,onChangeAddress}=props;
let[phoneState,setPhoneState]=useState(“”);
{
设置电话状态(号码)
让phone='+61'+phoneState
onChangeAddress({…地址,电话})
}}
/>
}
在Expo上使用react native typescript构建应用程序设置一个状态是异步的,因此它不是即时的,它需要一些时间来更改组件的状态。 在您的代码中,setPhoneState是not WAIT(等待)功能,因此手机值会在手机之前更新
onChangeText={(number) => {
setPhoneState(number)
let phone = '+61' + number
onChangeAddress({ ...address, phone })
}}
doSomething();
let phone = '+61' + phoneState;
onChangeAddress({ ...address, phone });
}, [phoneState])
onChangeText={(number) => {
setPhoneState(number)
setTimeout( ()=>null, 3000);
let phone = '+61' + number
onChangeAddress({ ...address, phone })
}}