-
Notifications
You must be signed in to change notification settings - Fork 585
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
React 18: getSectionSuggestions
is called with undefined
after selecting suggestion on mobile device
#853
Comments
For anyone looking to quickly workaround this issue, we've changed our implementation of -declare const getSectionSuggestions: (s: Section) => Array<Suggestion>
+declare const getSectionSuggestions: (s: Section | undefined) => Array<Suggestion> |
Sorry, how do you implement this? Where do you put that line? Thanks |
@pav-w Sorry if this wasn't clear. It looks like under React 18 your |
Yup this works!
If you are not using TS, this is the JS-equivalent const getSectionSuggestions = (section) => (section ? section.suggestions : []); |
Are you reporting a bug?
https://stackblitz.com/edit/oliverjash-react-autosuggest-clear-and-focus-qi2jdy?file=src%2FApp.js
On a mobile/touch device, select a suggestion.
Observed behaviour: Runtime exception:
TypeError: Cannot read properties of undefined (reading 'languages')
. It seems thatgetSectionSuggestions
is called afteronSuggestionsClearRequested
with a value ofundefined
.Expected behaviour: No runtime exception
Screen.Recording.2022-10-05.at.10.24.24.mov
Here's another reduced test case using exactly the same code but running with React 17 instead of React 18: https://stackblitz.com/edit/oliverjash-react-autosuggest-clear-and-focus-ajv2xi?file=src%2FApp.js. This one doesn't have the same problem. The problem only seems to occur when using React 18 and the new
createRoot
API.Note also that this problem does not occur when we're not using
multiSection
: https://stackblitz.com/edit/oliverjash-react-autosuggest-clear-and-focus-w7yg7r?file=src%2FApp.jsThe text was updated successfully, but these errors were encountered: