I have what seems to be a simple setup.
- Some state the that holds the selected task.
- A
useEffectthat opens the modal when the state is updated.
The modal opens, and inside the TaskScreen I'm able to console log selectedTask.
The problem is the onOpened prop never has the selectedTask. It always logs undefined.
How can TaskScreen have the correct value but not the onOpened prop? They're both rendered at the same time.
const taskModalRef = useRef(undefined);
const [selectedTask, setSelectedTask] = useState(undefined);
useEffect(() => {
if (selectedTask) {
taskModalRef.current.open();
}
})
<Modalize
ref={taskModalRef}
onOpened={() => {
console.log('selectedTask', selectedTask); // always undefined.
}}
>
<TaskScreen task={selectedTask} /> // always has the correct value.
</Modalize>