Open jgkim opened 7 years ago
We should change how the refs are handled. Thoughts, @gcanti?
Do RN log some warnings about this?
There are no warnings while the app is running or in the console, but they'll be deprecated soon.
"Soon" means react v16 I guess, as removing string refs is a breaking change. We can wait for an actual deprecation (+ possibly other breaking changes coming in the v16 release)
Bumping this React 16.2 is out and this might be changing in 16.3 with the introduction of React.createRef()
and deprecation is apparently "scheduled" for 16.4 (source).
Legacy API: String Refs
If you worked with React before, you might be familiar with an older API where the
ref
attribute is a string, like "textInput", and the DOM node is accessed asthis.refs.textInput
. We advise against it because string refs have some issues, are considered legacy, and are likely to be removed in one of the future releases. If you’re currently usingthis.refs.textInput
to access refs, we recommend the callback pattern instead.
https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs
It's already showing a warning btw
Hello, this warning is constantly showing in all these components. I don't know when will it be definitely deprecated, but it kind of bothers to see these warnings poping up.
Would you please consider uppering this issue's priority?
Here is the warning message:
Warning: Component "DatePicker" contains the string ref "input". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref
Thanks in advance!
According to the official documentation, string
refs
will likely be deprecated in the future, and callbackrefs
are preferred.Cf. https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-string-refs.md