Как мне обновить мой DOM при срабатывании функции? - PullRequest
3 голосов
/ 14 июля 2020

Я что-то делаю не так. Но я не совсем понимаю, что это.

По общему признанию, я ладья ie на js / React. Мне удавалось запускать свою функцию каждый раз, когда обновлялись поля моей формы редукции. Но я не могу получить вывод на дом. Может ли кто-нибудь увидеть, что я делаю неправильно?

Мой код:

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;

Я предполагаю, что мне нужно 'ввести' вывод.

1 Ответ

0 голосов
/ 14 июля 2020

вывод 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]);

Это должно работать:)

...