如何在函数触发时更新我的​​ DOM?

How do I update my DOM when the function fires?

我做错了什么。但是我不太明白它是什么。

诚然,我是 js/React 上的菜鸟。每次我的 redux-form 字段更新时,我都设法触发了我的功能。但是我无法将输出输出到 dom。谁能看出我做错了什么?

我的代码:

const Register = () => {
  
  var output =  "this should disappear when changed fires"
  
  const onSubmit = (formValues) => {
    console.log("formValues", formValues); //<-- fires fine.
  };

  const changed = (formValues) => {
    if (formValues?.firstName) {
        output = simpleStringify(formValues);
        console.log(output) // <-- the output is changed
        
    }
  };

  return (
    <div>
      Register Page
      <RegistrationForm onSubmit={onSubmit} onChange={changed} user={user} />
     <Highlight>{output}</Highlight> {/*  not updating */}
    </div>
  );
};

export default Register;

我假设,我需要 'inject' 输出。

var 输出应该是 ReactJS 中要更新的状态:)

在挂钩中:

const [output, setOutput] = useState("this should disappear when changed fires"); 

const changed = (formValues) => {
    if (formValues?.firstName) {
        setOutput(simpleStringify(formValues));
        
        
    }
};

useEffect(() => {
   console.log(output) // <-- the output is changed
}, [output]);

这应该有效:)