Как сделать пользовательский компонент связи с помощью ловушки? - PullRequest
1 голос
/ 08 марта 2020

Я пытаюсь создать собственный компонент маршрутизатора, чтобы мой tr ссылался на другую страницу, проходящую через объект данных для этой строки. Когда я нажимаю на ссылку, появляется моя не найденная страница, даже когда я использую простые маршруты, такие как '/'. У меня также была эта проблема с упрощенными версиями, которые я сделал для отладки. Вот мой код:

import {setLinkProps} from 'hookrouter'

 const MyLinkButton = (props) => {
        console.log(props)
        return <button {...setLinkProps(props)} className="myButton">Click me now</button>
    }

<MyLinkButton href="/" datathing='lol'></MyLinkButton>

(Я уверен, что это ошибка с моей стороны, однако мне не удалось найти пример кода для пользовательских компонентов маршрутизатора, использующих эту библиотеку, для сравнения, и я был не в состоянии понять проблему, просматривая исходный код.)

1 Ответ

0 голосов
/ 08 марта 2020

Можете ли вы подтвердить, что проходите как реквизит? Основываясь на коде, он выглядит так, как будто он ожидает, и объект с ключом href. Вы можете увидеть это в примере, приведенном в комментариях. У них явно есть {'href': route}. В вашем примере вы выглядите так, как будто вручную устанавливаете элемент href в самой кнопке. Возвращает ли ваша консоль какие-либо ошибки, когда вы нажимаете на кнопку?

В комментариях в исходном коде отмечается, что она

 * Accepts HTML `a`-tag properties, requiring `href` and optionally
 * `onClick`, which are appropriately wrapped to allow other
 * frameworks to be used for creating `hookrouter` navigatable links.
 *
 * If `onClick` is supplied, then the navigation will happen before
 * the supplied `onClick` action!
...
 * <MyFrameworkLink what="ever" {...useLink({ href: '/' })}>
 *   Link text
 * </MyFrameworkLink>
...
 * Accepts standard HTML `a`-tag properties. `href` and, optionally,
 * `onClick` are used to create links that work with `hookrouter`.
 * <A href="/" target="_blank">Home</A>

Ваш код выглядит почти так, как и ожидалось, поэтому я предполагаю, что это сами реквизиты, не видя остальной код. Я также удалил бы консольный журнал и возвратил бы ключевые слова.

Пример компонента пользовательской ссылки можно найти здесь в документации .

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