Реагировать государства для создания внешней ссылки с URL-адрес расположения окна - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть ситуация, когда мне нужно поставить состояние в моем window.location.href='http://url.com'

На данный момент у меня есть следующая ситуация, которая работает

const [url,setUrl] = useState('');

useEffect(() => {
   getUrl()
     .then(x => x.json())
     .then(x => {
        const { result } = x;
        setUrl(result);
      });
  });

<a target="_blank" href={url}>Url/a>

Теперь мне нужно изменить <a target="_blank" href={url}>Url/a> до

<button onClick={(e): void => { e.preventDefault(); window.location.href={url}}}

Проблема в том, что я получаю эту ошибку на window.location

Type '{url: string; } 'нельзя назначить типу' string '.

Как это исправить? Есть ли лучший способ поставить ссылку sate на событие click?

1 Ответ

3 голосов
/ 24 февраля 2020

Попробуйте window.location.href=url вместо window.location.href={url}, как следует из предупреждения.

<button
  onClick={e => {
    e.preventDefault();
    window.location.href = url;
  }}
/>

window.location.href={url} назначит Object: {url} для .href для типа string, Вы должны назначить тип string.

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