Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
124 views
in Technique[技术] by (71.8m points)

javascript - Why can't I read a component's state inside a DropEvent callback function?

I'm having trouble understanding why I cannot read a component's state variable inside of a marker drop callback function on a map component.

Inside my component I initialise this state as null

const [testBool, setTestBool] = useState(null);

I declared a function to handle the state change

const testFunc = () => {
  setTestBool(true);
}

and the callback function that gets executed after a marker has been dropped on a map component

const handleMarkerDrop = e => {
  console.log('test bool', testBool);
}

Inside my render I put a button to execute testFunc and the map component

<button onClick={testFunc}>set to true</button>
  <SomeKindOfMapComponent
     // other props here
     onMarkerDrop={handleMarkerDrop} />

When I click the button the state gets updated (I can console log it as true before the return) but when I perform a marker drop and the handleMarkerDrop function gets executed, testBool is read as null

I also tried workarounds like passing the prop as {e => handleMarkerDrop(e, testBool)} but still doesn't work as I would expect

question from:https://stackoverflow.com/questions/66066260/why-cant-i-read-a-components-state-inside-a-dropevent-callback-function

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...