I'm getting data from axios by using axios.get and saving the data in a state, and then trying to use that data in a component's prop named disabledDates so i insert the state in the prop and nothing happens but when i put the same data in a const it works
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>
);
this is the code that contains the issue
I see two things wrong with your react code.
useEffect is incorrect.You have dataa as a dependency. Every time your axios request finishes and it sets the data on the state, dataa will change and you will remake the request going into an infinite loop.
JSON.stringify() to convert a Json response to a string.I am not aware which specific library you are using for the date picker but it is unlikely that it expects a string.
Axios responses are already a JavaScript object so just set that to the state of your component, no need to stringify. This will depend on the documentation of the library you are using and in which format they expect the data.