fix lost events when yielding (#1521)
This commit is contained in:
parent
a9b7394e0e
commit
134df9dbaa
@ -49,25 +49,29 @@ export default function Component() {
|
|||||||
processEvent({{state_name}}, {{state_name|react_setter}}, {{const.result}}, {{const.result|react_setter}}, {{const.router}}, {{const.socket}}.current)
|
processEvent({{state_name}}, {{state_name|react_setter}}, {{const.result}}, {{const.result|react_setter}}, {{const.router}}, {{const.socket}}.current)
|
||||||
}
|
}
|
||||||
|
|
||||||
// If there is a new result, update the state.
|
// Reset the result.
|
||||||
if ({{const.result}}.{{const.state}} != null) {
|
{{const.result|react_setter}}(result => {
|
||||||
// Apply the new result to the state and the new events to the queue.
|
// If there is a new result, update the state.
|
||||||
{{state_name|react_setter}}(state => ({
|
if ({{const.result}}.{{const.state}} != null) {
|
||||||
...{{const.result}}.{{const.state}},
|
// Apply the new result to the state and the new events to the queue.
|
||||||
events: [...state.{{const.events}}, ...{{const.result}}.{{const.events}}],
|
{{state_name|react_setter}}(state => {
|
||||||
}))
|
return {
|
||||||
|
...{{const.result}}.{{const.state}},
|
||||||
|
events: [...state.{{const.events}}, ...{{const.result}}.{{const.events}}],
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return {
|
||||||
|
{{const.state}}: null,
|
||||||
|
{{const.events}}: [],
|
||||||
|
{{const.final}}: true,
|
||||||
|
{{const.processing}}: !{{const.result}}.{{const.final}},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
})
|
||||||
|
|
||||||
// Reset the result.
|
// Process the next event.
|
||||||
{{const.result|react_setter}}(result => ({
|
processEvent({{state_name}}, {{state_name|react_setter}}, {{const.result}}, {{const.result|react_setter}}, {{const.router}}, {{const.socket}}.current)
|
||||||
{{const.state}}: null,
|
|
||||||
{{const.events}}: [],
|
|
||||||
{{const.final}}: true,
|
|
||||||
{{const.processing}}: !{{const.result}}.{{const.final}},
|
|
||||||
}))
|
|
||||||
|
|
||||||
// Process the next event.
|
|
||||||
processEvent({{state_name}}, {{state_name|react_setter}}, {{const.result}}, {{const.result|react_setter}}, {{const.router}}, {{const.socket}}.current)
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
// Set focus to the specified element.
|
// Set focus to the specified element.
|
||||||
|
Loading…
Reference in New Issue
Block a user