import React, { useState, useRef, useEffect } from 'react' function EditableDiv({value, onChange, maxLength=Infinity, className='', inputClassName}) { const [isEditable, setIsEditable] = useState(false) const [content, setContent] = useState(value) const inputRef = useRef(null) useEffect(() => { setContent(value) }, [value]) const handleInput = (event) => { console.log("Event key: ", event.key) onChange(event.target.value) // if (event.key === "") } const handleEnterKey = (event) => { console.log("Event key: ", event.key) if (event.key === "Enter"){ setIsEditable(false) } } const handleDoubleClick = () => { setIsEditable(true) setTimeout(() => inputRef.current.focus(), 1) } const handleBlur = () => { setIsEditable(false) } return (
{!isEditable && {content}}
) } export default EditableDiv