模拟获取数据接口
export function getTodoListData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
const listData = [
{
name: "默认事项",
isChecked: false,
isDelete: false,
},
];
resolve(listData);
}, 1000);
});
}
创建 Context
创建 Context
用来存储 todo_list
所有列表项
import React from "react";
export const TodoListContext = React.createContext([])
Http 组件
在这个组件中,我们使用 TodoListContext.Provider
来将通过 getTodoListData
获取的模拟接口数据,转发给消费者组件,当没有获取参数的时候,我们使用通过 props
传入的 Loading
组件来渲染当前区域。
import React from "react";
import { getTodoListData } from "./getData";
import { TodoListContext } from "./context";
export const Http = {
Get: class extends React.Component {
state = {
data: [],
component: this.props.loading || "Loading",
};
async componentDidMount() {
const { url } = this.props;
const res = await getTodoListData(url);
this.setState({
data: res,
component: this.props.children,
});
}
render() {
return (
<TodoListContext.Provider value={this.state.data}>
{this.state.component}
</TodoListContext.Provider>
);
}
},
};
好了,我们的工具库函数和组件就都创建完成了,接下来我们就要开始最重要,也是较难理解的部分了————编写基本组件!
原文始发于微信公众号(前端华先生):React实践项目–todolist(2)创建工具类文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/55327.html