dillon1000/react
Commit
Browse files Fix controlled radios, maybe for real this time (#27443)
Fixes #26876 for real? In 18.2.0 (last stable), we set .checked unconditionally: https://github.com/facebook/react/blob/v18.2.0/packages/react-dom/src/client/ReactDOMInput.js#L129-L135 This is important because if we are updating two radios' checkedness from (false, true) to (true, false), we need to make sure that input2.checked is explicitly set to false, even though setting `input1.checked = true` already unchecks input2. I think this fix is not complete because there is no guarantee that all the inputs rerender at the same time? Hence the TODO. But in practice they usually would and I _think_ this is comparable to what we had before. Also treating function and symbol as false like we used to and like we do on initial mount.
Changed paths3 files
First-parent comparisonpackages/react-dom-bindings/src/client/ReactDOMInput.js ModifiedM packages/react-dom/src/__tests__/ReactDOMComponent-test.js ModifiedM packages/react-dom/src/__tests__/ReactDOMInput-test.js ModifiedPatch
Files changed
Rendering syntax-highlighted changes…