Changing keyboard focus
The user of our application will, most of the time, be typing in the prompt at the bottom right of the screen. To help them out, we’ll move the keyboard focus to the prompt when the app is launched. We should also do this when another element—such as the name text field or the menu buttons—has been used but has finished its job. Then, the focus should revert back to the prompt, ready for another instruction.
React doesn’t support setting focus, so we need to use a React ref on our components and then drop it into the DOM API.
We’ll do this via a Redux reducer. It will have two actions: PROMPT_FOCUS_REQUEST
and PROMPT_HAS_FOCUSED
. Any of the React components in our application will be able to dispatch the first action. The Prompt
component will listen for it and then dispatch the second, once it has focused.
Writing the reducer
We’ll start, as ever, with the reducer:
- Create a new file named
test/reducers...