Обрабатывать событие и функцию, не связанную с событием, таким же образом? - PullRequest
0 голосов
/ 06 декабря 2018

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

export const navigate = (path: string) => {
 getHistory().push(path)
}

Итак, я хочу иметь возможность вызывать ее как обычную функцию

navigate('gohere')

, а также в ответ на действие onClick

onClick={navigate('gohere')

К сожалению, второй не работает.Если я добавлю событие следующим образом:

export const clicknavigate = (path: string) => (event: any) => {
    getHistory().push(path)
}

, тогда оно будет работать, но это означает, что мне нужно иметь две функции для каждого действия - одну, если она вызывается из события щелчка или мыши, и одну, еслине.

Должен ли быть способ справиться с обоими с помощью одной функции?

1 Ответ

0 голосов
/ 06 декабря 2018

Как насчет

export const clicknavigate = (path: string, event: any) => {
    if(event){
      getHistory().push(path)
    }
    return         
}

, затем вызовите его в вашем методе onClick следующим образом: onClick={(e) => clicknavigate('gohere', e)}

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