Fix incompatibility of TimePicker with Preact #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I managed to get react-toolbox to work with Preact (which was mostly a matter of customizing the Webpack config).
I've got one remaining problem that is due to some internal differences between React and Preact VDom libraries. From what I've gathered, components should avoid using node references is componentDidMount or componentDidUpdate without wrapping them in a
setImmediate
orsetTimeout(…, 0)
(see preactjs/preact#477 ).With the current logic of componentDidUpdate in TimePickerDialog.js, the component throws a
TypeError: Cannot read property 'handleCalculateShape' of undefined
and interaction is impossible:Fixing this in Preact seems like a difficult if not impossible task, however fixing it in the TimePicker component is only a matter of wrapping the call to
this.clockNode.handleCalculateShape
in an arrow function so that this.clockNode is not accessed immediately on component update.Let me know if the change is acceptable :-)