javascriptreactjsbootstrap-modalreact-bootstrapautofocus

ReactJS and autofocus


I have a react-bootstrap modal with an <input>. I want to set the autofocus attribute on the <input>

The following works fine, but shows a warning in the console

<input type="text" autofocus='true' />
Warning: Invalid DOM property `autofocus`. Did you mean `autoFocus`?

The following options do not work, in the sense that they do not focus the input when opening the modal:

<input type="text" autoFocus='true' />
<input type="text" autoFocus={true} />
<input type="text" autoFocus />

What is the recommended way of setting autofocus. Or how should I mute the warnings for the example that works well?

Note: This is react 16.8.6


Solution

  • Refs is what you want,

    constructor(props) {
        super(props);
        this.myRef = React.createRef();
    }
    
    componentDidMount(){
      this.myRef.current.focus();
    }
    
    <input type="text"  ref={this.myRef} />