首先,感谢您的耐心和专业知识。没有你,我会拖地板。从Linus Torvalds到DHH,再到您-很棒。
所以我有一个重复的问题(在这里回答Why calling setState method doesn't mutate the state immediately?)
我有一个42个无线电组表单,每个选择都调用setState。上面的解决方案说调用是异步的,并导致组件重新加载。我不需要(认为我)需要这样做。您将如何在内存中存储会话,Cookie或在用户提交表单之前不会导致重新绘制的内容?抱歉,如果这是另一个重复。我很慢。
再次感谢。
答案 0 :(得分:2)
不“重画”页面不是反应的工作方式。当用户与我正在处理的页面进行交互时,我会不断“重绘”屏幕。
您要使用setState,因为如果用户一直单击鼠标,那么您希望能够继续更新并跟踪他们所做的事情,因此每次更新都不会被覆盖。异步更新的好处在于,您可以在用户触发操作的那一刻获得状态的副本,这样可以确保在用户一次更新一些内容时,您不会陷入时髦的状态。
这可能是“异步”更新,但感觉像是立即发生,并触发了组件使用新信息进行自身更新(也称为重新绘制)