如何在react redux中将数据上传到axios.post

kmb7vmvb  于 2023-03-23  发布在  React
关注(0)|答案(1)|浏览(118)

将数据传输到www.example.com的redux工具包时出现问题axios.post,出现错误
预期参数:0,收到:1.
下面是包含查询的redux代码:

export const favoriteFetch = createAsyncThunk<IFavorite[]>(
    'favorite/favoriteFetch',
    async () => {
        const {data} = await axios.get<IFavorite[]>('http://localhost:3001/favorite');
        return data;
    }
) 

export const addFavoriteFetch = createAsyncThunk(
    'addFavorite/addFavoriteFetch',
    async (params) => {
        console.log(params)
        await axios.post<IFavorite[]>('http://localhost:3001/favorite', params);
    }
)
return (
    <div className={styles.contentProducts}>
        <img onClick={() => dispatch(addFavoriteFetch(({id, img, title, price})))} className={styles.contentProductsFavorite} src={favorite ? '/images/heartclick.png' : "/images/heart.png"} alt="" />
        <img className={styles.contentProductsImg} src={img} alt="" />
        <div className={styles.contentProductsOptions}>
            <div>
                <p>{title}</p>
                <div>Цена: {price} р.</div>
            </div>
            <button onClick={() => dispatch(addProduct({id, img, title, price}))}>Добавить</button>  
        </div>
        
    </div>
)

}

58wvjzkj

58wvjzkj1#

您需要为params声明一个类型。

interface SomeParameterType {
  id: number;
  img: unknown;
  title: string;
  price: number;
}

export const addFavoriteFetch = createAsyncThunk(
  "addFavorite/addFavoriteFetch",
  async (params: SomeParameterType) => {
    console.log(params);
    await axios.post<IFavorite[]>("http://localhost:3001/favorite", params);
  }
);

相关问题