Problem with rendering React component with input

I have a for component that looks like that:

import React from "react";

const Form = ({ state }) => {
  const [nameValue, setCurrentNameValue] = useState(state.message.name.value);

  const nameChange = (e) => {
    console.log(state.message.name.value);
    setNameValue(e.target.value);
    console.log(state.message.name.value);
  };

  useEffect(() => {
    setCurrentNameValue(state.message.name.value);
  }, [state.message.name.value]);

  return (
    <input
      type="text"
      name="name"
      placeholder={state.message.name.placeholder}
      value={nameValue}
      onChange={(e) => nameChange(e)}
    />
  );
};

And I want it to update state value, then get this value and rerender, but it doesn’t work.