UseEffect - 使用状态创建外部链接

Koa*_*la7 7 javascript reactjs react-hooks use-effect

我有一个getUrl()调用 API 端点的方法

  useEffect(() => {
    getUrl()
      .then(x => x.json())
      .then(x => {
        const { result } = x;
      });
  });
Run Code Online (Sandbox Code Playgroud)

我可以在控制台中看到我页面中的调用,正如您在屏幕截图中看到的,这是我的数据

{
   "result":"https://www.google.it",
   "error":null,
   "errorCode":null,
   "isSuccessful":true,
   "operationStatusCode":"OK"
}
Run Code Online (Sandbox Code Playgroud)

如何在我的视图中在外部链接中显示以下result链接示例https://www.gooole.it

我必须使用状态吗?

我需要一个如何编码的例子在这里

<a target="_blank" href={result}>Google Link</a>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

LHI*_*OUI 5

您必须在组件中使用状态:

const [url,setUrl] = useState('');
Run Code Online (Sandbox Code Playgroud)

并渲染它:

<a target="_blank" href={url}>Google Link</a>
Run Code Online (Sandbox Code Playgroud)

并在使用效果上:

useEffect(() => {
   getUrl()
     .then(x => x.json())
     .then(x => {
        const { result } = x;
        // use set url hook 
        setUrl(result);
      });
  });
Run Code Online (Sandbox Code Playgroud)

  • 我建议在“effect”内添加一个空数组“[]”,以避免在每次渲染时调用 api。也许他错过了这一点。 (2认同)