axios 如何在URL中将参数的值增加1

emeijp43  于 2022-12-12  发布在  iOS
关注(0)|答案(2)|浏览(142)

我使用Axios来获取用户。我在单击按钮时一次获取一个用户。我需要ID参数在单击时增加1。首先它应该是“... user/1”,然后在单击时“... user/2”等等。我该怎么做呢?

const Button = () => {
  const handleUser = () => {
    axios.get(".../user/1/").then((res) => {
      ....
    });
  };
  return <button onClick={handleUser}>NEXT</button>;
};

export default Button;
nhn9ugyo

nhn9ugyo1#

我,
您需要将当前用户id存储在某个状态中(直接存储在Button组件中或其父组件中)。
例如:

const Button = () => {
    const [userId, setUserId] = useState(1);

    const handleUser = () => {
        axios.get(`.../user/${userId}/`).then((res) => {
          ....
        }).finally(() => setUserId(userId => userId + 1));
      };

    return <button onClick={handleUser}>NEXT</button>;
};

导出默认按钮;

7hiiyaii

7hiiyaii2#

尝试此操作以递增调用的索引。

const Button = () => {
  const [index, setIndex]=useState(0)
  const increment = () => {
     setIndex(i => i + 1)
  }
  const handleUser = () => {
    increment()
    axios.get(`.../user/${index}/`).then((res) => {
      ....
    });
  };
  return <button onClick={handleUser}>NEXT</button>;
};

export default Button;

相关问题