React.js 如何自动聚焦 contentEditable 元素

Ale*_*uhl 2 contenteditable autofocus reactjs

如何在 React 中将焦点设置在 contentEditable 元素上?我找到了很多关于该主题的页面,但无法让它发挥作用。

示例代码:

import React, { useRef, useEffect } from 'react';

const About = () => {
    const inputRef = useRef(null);

    useEffect(inputRef => {
        if (inputRef) {
            inputRef.focus();
        }
    }, []);

    return (
        <div className="about">
            <h2>About</h2>

            <p className="paragraph"
                contentEditable={true}
                suppressContentEditableWarning={true}
                spellCheck={false}
                ref={inputRef}
            >
                Hello
            </p>

        </div >
    )
}

export default About;
Run Code Online (Sandbox Code Playgroud)

Ale*_*uhl 6

看来我的解决方案是这样的。

 import React, { useRef, useEffect } from 'react';

const About = () => {
    const inputRef = useRef(null);

    useEffect(() => {
        inputRef.current.focus();
    }, [inputRef]);

    return (
        <div className="about">
            <h2>About</h2>

            <p className="paragraph"
                contentEditable={true}
                suppressContentEditableWarning={true}
                spellCheck={false}
                ref={inputRef}
            >
                Hello
            </p>

        </div >
    )
}

export default About;
Run Code Online (Sandbox Code Playgroud)