Как передать реквизиты и другие параметры для работы с помощью React Hooks? - PullRequest
0 голосов
/ 02 февраля 2020

Как передать реквизиты и другие параметры для работы с помощью React Hooks?

У меня есть следующая функция:

async function handleSubmit(props, event) {
    const {history} = props;
    if (event) {
        event.preventDefault();
        event.stopPropagation();
    }
    ...
} 

Как можно вызвать его из <Form> и заполнить параметры props и event?

<Form inline onSubmit={handleSubmit}>

Ответы [ 3 ]

2 голосов
/ 02 февраля 2020

Попробуйте написать это так

 const handleSubmit = async props => event => {
    const {history} = props;
    if (event) {
        event.preventDefault();
        event.stopPropagation();
    }
    ...
} 

А потом

<Form inline onSubmit={handleSubmit(props)}

Посмотрите на карри в javascript :)

0 голосов
/ 11 февраля 2020

В итоге я понял это. Вам просто нужно добавить параметр props в определение функции компонента, см. Ниже:

const Header = props => {

    const handleSubmit = async event => {
        const {history} = props;
        if (event) {
            event.preventDefault();
            event.stopPropagation();
        }
        ...
    };

    ...
}
0 голосов
/ 02 февраля 2020

Создайте новую функцию стрелки onClick и передайте ей реквизиты в качестве второго параметра (или первого, если хотите).

<Form inline onSubmit={(e) => handleSubmit(e, props)}>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...