mithril.js: Uncaught DOMException: Failed to execute 'removeChild' on 'Node'
Steps to Reproduce:
- Make changes in an input that has an
oninputevent. - Immediately navigate to another page using the browser’s back or forward button.
Environment: Mithril 1.0.1 on Chrome 56.0.2924.87 (Windows 10).
Previous Related Issue: #358
Sample Code:
module.exports =
{ oninit:
vn => {
const id = Number( vn.attrs.id )
const stream = M.loadItem( id )
vn.state.data = { id, stream, initial: stream() }
}
, view: vn =>
<div>
<label class="label">
Last Name
<input
class="input"
type="text"
placeholder="Last Name"
onchange={ X.setStreamPropToValueAttr( vn.state.data.stream )( 'lastName' ) }
value={ X.getStreamProp( vn.state.data.stream )( 'lastName' ) }
/>
</label>
</div>
}
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 20 (15 by maintainers)
Commits related to this issue
- Fix #1771 and probably others This is *super* subtle, and IMHO Chrome did exactly the wrong thing here. — committed to dead-claudia/mithril.js by dead-claudia 6 years ago
- Fix #1771 and probably others This is *super* subtle, and IMHO Chrome did exactly the wrong thing here. — committed to dead-claudia/mithril.js by dead-claudia 6 years ago
- Fix #1771 and probably others This is *super* subtle, and IMHO Chrome did exactly the wrong thing here. — committed to dead-claudia/mithril.js by dead-claudia 6 years ago
- Fix #1771 and probably others This is *super* subtle, and IMHO Chrome did exactly the wrong thing here. — committed to dead-claudia/mithril.js by dead-claudia 6 years ago
- Fix #1771 and probably others (#2286) This is *super* subtle, and IMHO Chrome did exactly the wrong thing here. — committed to MithrilJS/mithril.js by dead-claudia 6 years ago
- Revert "Fix #1771 and probably others (#2286)" 4f68984f2f8951669a619e5a5c496ecdba61f950 — committed to dead-claudia/mithril.js by dead-claudia 6 years ago
So finally, a fix incoming in #2286.
@isiahmeadows I’ve just confirmed that the behavior persists when the component in question is stripped to bare bones:
It persists when I swap out the JSX syntax for javascript:
It persists when I switch to ES5 syntax, getting rid of the arrow function: