【问题标题】:Axios : fetch data of specific useraxios:获取特定用户的数据
【发布时间】:2021-07-31 01:20:24
【问题描述】:

我的 React 文件中有以下钩子:

  const [List, setList] = React.useState([]);

  useEffect(() => {
      axios
          .get("http://localhost:8000/api/profile/")
          .then((response) => {
            setList(response.data);
              console.log(response);
          })
          .catch((err) => console.log(err));
  }, []);

它获取整个数据库的所有配置文件。然后我根据user.id显示具体用户的数据:

<ul>
<div>
    {List.map((item, index) => {
        if (
            item.user_id === user.id // Line where I'm displaying data according to the user.id after fetching all data
        ) {
            return (
                <li key={item.id}>        
                <div>              
                        {item.username}
                        </Link>  
                    </div>
                </li>
            );
        }
        return null;
    })}
</div>
</ul>

我的问题是,如何发送带有 user_id 的自定义 axios 请求,然后显示该用户的数据,而不是获取服务器的所有数据并对其进行过滤?

【问题讨论】:

  • 很难说,因为我们不知道您正在使用的 API。路径、查询、正文参数?
  • @jonrsharpe 是 laravel 生成的 api。休息。
  • 但这并没有告诉我们实际的界面是什么。一旦你发现,Axios 文档会显示一系列请求。
  • @jonrsharpe 对不起,我不明白你的问题。
  • 什么是api get detail user infor?

标签: javascript php reactjs laravel axios


【解决方案1】:

您可以通过将参数添加到 get 方法来做到这一点,例如:

useEffect(() => {
      axios
          .get("http://localhost:8000/api/profile/", {
             "user_id": yourUserId
           })
          .then((response) => {
            setList(response.data);
              console.log(response);
          })
          .catch((err) => console.log(err));
  }, []);

了解更多details

注意:你的 api 必须是 rest 并允许你通过用户 id 获取用户数据,或者如果它在路径中,你只需要添加它: axios

.get(http://localhost:8000/api/profile/${userId})

【讨论】:

  • Hokmat Abu Hmiad 是的,我的 api 是 rest,它是用 Laravel 创建的。但是由于某种原因,您的代码似乎无法正常工作。
  • 您需要验证您的 api 是构建允许您从特定用户获取数据,您需要验证路径,如最后一个选项,如果它不存在,那么您需要先实现 api 或尝试找到它的 api 文档....get(localhost:8000/api/profile/${userId})...
  • 我的 API 工作正常,我用 POSTMAN 进行了测试。但是当直接在邮递员中测试你的链接时它不起作用。
  • 你能在这里分享你的邮递员网址吗?你也可以选择像 js 或 curl 这样导出 api 代码......它也会有帮助......
  • 该 API 在您的机器上本地运行,我们无法向它发出请求...
猜你喜欢
  • 2013-06-09
  • 2013-05-10
  • 1970-01-01
  • 2021-08-30
  • 1970-01-01
  • 1970-01-01
  • 2020-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多