Repro:
import { h, Component } from 'preact';
import linkState from 'linkstate';
class Double extends Component {
componentDidUpdate(prevProps, prevState) {
console.log(prevProps.filter, this.props.filter); // BUG: same
}
render() {
return (
<p>{this.props.filter.value * 2}</p>
);
}
}
export default class App extends Component {
state = {
filter: {
value: 3
}
};
render() {
return (
<div>
<p>Change the number and watch the console. The filter values should be different but are identical.</p>
<input type="number" onInput={linkState(this, 'filter.value')} />
<Double filter={this.state.filter} />
</div>
);
}
}
Repro: