Obtengo datos de axios usando axios.get y guardando los datos en un estado, y luego trato de usar esos datos en la propiedad de un componente llamada disabledDates, así que inserto el estado en la propiedad y no pasa nada, pero cuando pongo lo mismo datos en un const funciona
const [selected, setSelected] = useState(""); const url = "http://000.000.0.00:0000/calendar"; const [data, setData] = useState(""); useEffect(() => { // Update the document title using the browser API axios .get(url) .then((res) => setData(JSON.stringify(res.data[0].date))) .catch((err) => { console.error(err); }); }, [data]); console.log(data); return ( <SafeAreaView style={styles.container}> <CalendarPicker onDateChange={(date) => setSelected(date)} disabledDates={data} disabledDatesTextStyle={{ color: "red" }} /> </SafeAreaView> );este es el codigo que contiene el problema
Veo dos cosas mal con tu código de reacción.
useEffect es incorrecto. Tiene dataa como una dependencia. Cada vez que finaliza su solicitud de dataa y establece los datos en el estado, los datos cambiarán y volverá a realizar la solicitud entrando en un bucle infinito.
JSON.stringify() para convertir una respuesta Json en una cadena.No sé qué biblioteca específica está utilizando para el selector de fecha, pero es poco probable que espere una cadena.
Las respuestas de Axios ya son un objeto de JavaScript, así que simplemente configúrelo en el estado de su componente, no es necesario que lo encadene. Esto dependerá de la documentación de la biblioteca que esté utilizando y en qué formato esperan los datos.