Как дождаться изменения state и после этого запустить функцию в REACT?

Есть два компонента, компонент А передает в Б state, в Б меняет его и после этого мне нужно вызвать функцию, которая должна работать уже с измененным state, но на момент вызова она видит еще старый state. Насколько я понимаю, можно использовать useEffect при изменении state, но в моем случае это не подходит

const ComponentA = () = {
    const [someState, setSomeState] = useState(null);

    return (
        <ComponentB setSomeState={setSomeState} />
    )
}


const ComponentB = ({setSomeState}) = {
    
  const handle = () => {
    setSomeState('Новое значение state');
    someFunction() // Вот эта функция на момент вызова видит, что в state ещё null, как то можно выполнить запуска после изменения state? 
  }
  
  return (
    /* some JSX */
  )
}

Ответы (1 шт):

Автор решения: Armen

почему не подходит?

export const First = () => {
    const [someState, setSomeState] = useState(null);

    return (
        <Second someState={someState} setSomeState={setSomeState} />
    )
}


export const Second = ({setSomeState,someState}) => {
    const [isClicked, setIsClicked] = useState(false);
    const handle = () => {
        setSomeState(() => {
            return `${Math.random()}`
        })
        setIsClicked((prev) => {
            return !prev
        })
      }
      useEffect(() => {
          console.log(someState);
      },[isClicked])
    return (
        <button onClick={handle}>abcd</button>
    )
}
→ Ссылка