Closed jo32 closed 4 years ago
may be a critical bug:
class MorphingComponent extends React.Component { state = {activated: false}; _toggleActivatedState = () => { this.setState({activated: !this.state.activated}); }; render() { var toggleActivatedState = this._toggleActivatedState; return !this.state.activated ? <a ref="x" onClick={toggleActivatedState} /> : <b ref="x" onClick={toggleActivatedState} />; } }; var a = ReactDOM.render( <MorphingComponent />, document.body ); console.log(ReactDOM.findDOMNode(a.refs.x).tagName); // shoud be 'A' and got 'A' a._toggleActivatedState() console.log(ReactDOM.findDOMNode(a.refs.x).tagName); // shoud be 'B' but got 'A'
https://jsfiddle.net/jo32/br14jL3v/
Hmm - I think the compat code is to blame here. Good find.
This is resolved in Preact X :tada:
may be a critical bug:
https://jsfiddle.net/jo32/br14jL3v/