¿Cómo conservo el número nacional cuando el usuario cambia de bandera? Si cambian de bandera se deben dejar los números que pusieron anteriormente. setValue no activa el campo de valor.
function App() { const { register, handleSubmit, watch, errors, setValue, control } = useForm(); const [valueX, setValueX] = useState(""); useEffect(() => { try{ sessionStorage.setItem("national", parsePhoneNumber(valueX).nationalNumber) }catch(err){} try{ sessionStorage.setItem("countryCode", parsePhoneNumber(valueX).countryCallingCode) }catch(err){} }, [valueX]); function test(x){ console.log("changed country") console.log(getCountryCallingCode(x)) setValue("test",x+sessionStorage.getItem("national")) } return ( <div className="App"> <form> <PhoneInput name="test" international value={valueX} onChange={e => setValueX(e)} onCountryChange={e => {test(e)}} control={control} /> </form> </div> ); } export default App;Bueno, básicamente funciona ahora. Se eliminó el valor en Phoneinput... y se movió setValue a mi useEffect. También parte importante fue tener internacional, provocó algunos problemas con la entrada.