Метод Const вызывается при рендеринге в функциональном компоненте - PullRequest
0 голосов
/ 27 января 2020
const App = props=> {
  const handleAdition=(abc)=>{
    console.log('called');
   props.dispatch({
     'type':'create',
     'payload':abc
   });
 }
  return (
    <div className="App">
    <AddB handleAdition={handleAdition}/>
    </div>
  );
}

const AddB=props=> {
  let [name, setName] = useState('');
  return (
    <div className="header">
      <div className="form">
      <label for='name'>Name</label>
      <input onChange={e=>setName(e.target.value)}type='text' name='name'/>
      </div>
      <button onClick={props.handleAdition({name})}> Add</button>
    </div>
  );
}

метод вызывается бесконечно, пока стек не заполнится. и программа терпит неудачу. Я новичок в функциональных компонентах. Что я делаю неправильно?

1 Ответ

2 голосов
/ 27 января 2020

Измените это

<button onClick={props.handleAdition({name})}> Add</button> на

<button onClick={() => props.handleAdition({name})}> Add</button> ....

Это происходит потому, что onClick ожидает функцию ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...