Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
117 views
in Technique[技术] by (71.8m points)

javascript - React-TS: Passing a function with arguments from state as callback - cannot get arguments

I have a problem I have an email and password which I set to the state from inputs

 const [email, setEmail] = useState('');
 const [password, setPassword] = useState('');

There is a button that handles the onEnter function where I passing an onButtonEnter callback with email and password params from the state

               <Button
                    className="login"
                    label={'login'}
                    onEnter={() => {
                        onButtonEnter(email, password);
                    }}
                />

This function:

      const onButtonEnter = (email: any, password: any) => {
  
        console.log('email enter', email);
        console.log('password enter', password);

          if.....

Here in 2 console.logs I have undefined What is it? What is the problem?

If I for example pass the arguments just a string, like : 'aaaa' in console.log I can see the result. But email and password from the State are undefined...

question from:https://stackoverflow.com/questions/65846123/react-ts-passing-a-function-with-arguments-from-state-as-callback-cannot-get

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Why do you give email and password as the parameter of your onButtonEnter function, as they are already stored in the state of you component, so the function onButtonEnter already knows them.

So I would do something like this :

const App = () => {

  const [email, setEmail] = useState('');
  const [password, setPassword] = useState('');

  const onButtonClick = () => {
    console.log(email);
    console.log(password);
  }

  return (
    <div>Test
      <Button
        className="login"
        onClick={onButtonClick}
      >Button</Button>
    </div>
  );
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...