Reactjs: useState value not work in useEffect

This is my code:

const getFirstData = async () => {
    // fetch data and get defaultOrder
    setDefaultOrder("x")
}

const getOrder = async () => {
    // fetch data with defaultOrder
}

useEffect(() => {
    const fetchData = async () => {
        await getFirstData()
        await getOrder()
    }

    fetchData();

}, [defaultOrder]);

This code work fine, but I have 2 problems:

1- First time load, my code run twice. beacuse defaultOrder changed in getFirstData

2- With every change getFirstData, whole of useEffect run again!