namespace RES {
export interface List {
lateId: string;
name: string;
cover: string;}}
function Data(props: {item: RES.List}) {
const navigate = useNavigate()
return <li className={Style.li} key={props.item.lateId} onClick={() => navigate('/Detail', {
state: {
lateId: props.item.lateId
}
})}>
<div className={Style.cover} style={{backgroundImage: `url(${props.item.cover})`}}></div>
<div className={Style.name}>{props.item.name}</div>
</li>
}
已定义后接口RES,现在接口暂时不可用,需要mock下项目。react要怎么做
不知道你这个问题是否已经解决, 如果还没有解决的话:然后在项目根目录下创建mock文件夹,在这个文件夹里面,我们就可以编写mock数据
通常我会把不同的api请求,放在不同的文件中,比如user相关的写在user.js中,login相关的写在login.js中
书写格式如下:
user.js
module.exports = {
// =====================
// The default GET request.
// https://github.com/jaywcjlove/mocker-api/pull/63
'/api/user': {
id: 1,
username: 'kenny',
sex: 6
},
'GET /api/user/list': [
{
id: 1,
username: 'kenny',
sex: 6
}, {
id: 2,
username: 'kenny',
sex: 6
}
],
'DELETE /api/user/:id': (req, res) =>
{
console.log('---->', req.body)
console.log('---->', req.params.id)
res.send({ status: 'ok', message: '删除成功!' });
}
}
login.js
module.exports = {
'POST /api/login/account': (req, res) =>
{
const { password, username } = req.body;
if (password === '888888' && username === 'admin')
{
return res.json({
status: 'ok',
code: 0,
token: "sdfsdfsdfdsf",
data: {
id: 1,
username: 'kenny',
sex: 6
}
});
} else
{
return res.status(403).json({
status: 'error',
code: 403
});
}
},
}
文件导出一个对象,key值是’POST /api/login/account’这样的格式,前面是 请求方式+空格+path,GET方法可以省略掉请求方式
value值可以直接是一个json 也可以是一个回调函数(req,res)=>{},写法和express的写法一致
注意,一般不在index.js中具体的接口,index.js是聚合导出所有的接口
在React中实现模拟数据的功能可以通过以下步骤进行:
export const mockData = [
{ id: 1, name: 'John Doe', age: 25 },
{ id: 2, name: 'Jane Smith', age: 30 },
{ id: 3, name: 'Tommy Lee', age: 35 },
];
import { mockData } from './mockData';
state = {
data: [],
};
componentDidMount() {
this.setState({ data: mockData });
}
render() {
const { data } = this.state;
return (
<div>
{data.map(item => (
<div key={item.id}>
<p>Name: {item.name}</p>
<p>Age: {item.age}</p>
</div>
))}
</div>
);
}
这样就可以在React项目中使用模拟数据进行测试。当接口不可用时,数据源变量会使用mockData中的数据来渲染组件。