当前位置: 首页 > news >正文

建设网站需要多大域名空间公司网站开发费用计入

建设网站需要多大域名空间,公司网站开发费用计入,企业建设网站的主要目的有哪些,dede多个网站怎么做Reducer 允许您合并组件的状态更新逻辑。上下文允许您将信息深入传递到其他组件。您可以将 reducer 和 context 组合在一起#xff0c;以管理复杂屏幕的状态。 将减速器与上下文相结合 在 reducer 简介中的此示例中#xff0c;状态由 reducer 管理。reducer 函数包含所有状…Reducer 允许您合并组件的状态更新逻辑。上下文允许您将信息深入传递到其他组件。您可以将 reducer 和 context 组合在一起以管理复杂屏幕的状态。 将减速器与上下文相结合 在 reducer 简介中的此示例中状态由 reducer 管理。reducer 函数包含所有状态更新逻辑并在以下文件底部声明 import { useReducer } from react; import AddTask from ./AddTask.js; import TaskList from ./TaskList.js;export default function TaskApp() {const [tasks, dispatch] useReducer(tasksReducer,initialTasks);function handleAddTask(text) {dispatch({type: added,id: nextId,text: text,});}function handleChangeTask(task) {dispatch({type: changed,task: task});}function handleDeleteTask(taskId) {dispatch({type: deleted,id: taskId});}return (h1Day off in Kyoto/h1AddTaskonAddTask{handleAddTask}/TaskListtasks{tasks}onChangeTask{handleChangeTask}onDeleteTask{handleDeleteTask}//); }function tasksReducer(tasks, action) {switch (action.type) {case added: {return [...tasks, {id: action.id,text: action.text,done: false}];}case changed: {return tasks.map(t {if (t.id action.task.id) {return action.task;} else {return t;}});}case deleted: {return tasks.filter(t t.id ! action.id);}default: {throw Error(Unknown action: action.type);}} }let nextId 3; const initialTasks [{ id: 0, text: Philosopher’s Path, done: true },{ id: 1, text: Visit the temple, done: false },{ id: 2, text: Drink matcha, done: false } ];import { useState } from react;export default function AddTask({ onAddTask }) {const [text, setText] useState();return (inputplaceholderAdd taskvalue{text}onChange{e setText(e.target.value)}/button onClick{() {setText();onAddTask(text);}}Add/button/) }import { useState } from react;export default function TaskList({tasks,onChangeTask,onDeleteTask }) {return (ul{tasks.map(task (li key{task.id}Tasktask{task}onChange{onChangeTask}onDelete{onDeleteTask}//li))}/ul); }function Task({ task, onChange, onDelete }) {const [isEditing, setIsEditing] useState(false);let taskContent;if (isEditing) {taskContent (inputvalue{task.text}onChange{e {onChange({...task,text: e.target.value});}} /button onClick{() setIsEditing(false)}Save/button/);} else {taskContent ({task.text}button onClick{() setIsEditing(true)}Edit/button/);}return (labelinputtypecheckboxchecked{task.done}onChange{e {onChange({...task,done: e.target.checked});}}/{taskContent}button onClick{() onDelete(task.id)}Delete/button/label); }reducer 有助于使事件处理程序保持简短。但是随着应用的增长您可能会遇到另一个困难。目前任务状态和调度功能仅在顶级 TaskApp 组件中可用。若要让其他组件读取任务列表或更改它必须显式传递当前状态和更改它的事件处理程序作为道具。 例如将任务列表和事件处理程序传递给TaskAppTaskList TaskList tasks{tasks} onChangeTask{handleChangeTask} onDeleteTask{handleDeleteTask} / 并将事件处理程序传递给TaskListTask Task task{task} onChange{onChangeTask} onDelete{onDeleteTask} / 在像这样的小例子中这很有效但是如果你中间有几十个或几百个组件那么传递所有状态和函数可能会非常令人沮丧
http://www.pierceye.com/news/748014/

相关文章:

  • 企业网站建设优化江门站官网
  • 网站开发的私活襄阳门户网站建设
  • 网站打不开第二天不收录啦如何制作个人网页缴费
  • 网页设计制作网站html代码怎么做网站的后台维护
  • 做体力活的网站如何推广个人网站
  • 网站建设指导ui培训完找工作没人要
  • 中国公司网站建设方案郑州网站制作汉狮
  • 网站制作com cn域名有什么区别黄志达设计公司官网
  • 网站整站优化方案wap注册
  • 建设主管部门官方网站html5旅游网站
  • 网站建设及维护流程深圳市手机网站建设品牌
  • 凡科做的网站被举报了会怎么样网络招商平台网站怎么做
  • 山东网站建设公司哪家权威嘉兴中小企业网站制作
  • 做网站的搜索引擎从代码角度分析网站怎么做
  • jsp小型网站开发南宁百度seo排名优化
  • 上海最专业的网站建设公司排名为什么上传网站模板网站上没有文字和图片
  • 网站建设灬金手指下拉十四自己做的网站与ie不兼容
  • 专业制作网站价格wordpress 安装语言包
  • 企业网站建设运营的灵魂是什么网站建设服务协议 百度
  • 注册了域名之后怎么做网站苏州市住房建设局网站
  • 免费做问卷的网站好新媒体培训
  • 网站建设 版权归属重庆建设监理协会网站
  • 游戏网站域名相城区网站建设
  • 很看好未来做生鲜的网站邢台做外贸网站
  • 网站首页点击中文英文链接 翻译成对应的语言 怎么做100种创意活动策划
  • 网站标题怎么设置小程序定制程序
  • discuz 网站搬家网站建设的工具
  • 有做国际网站生意吗做网站义乌
  • 网站开发技术可行性分析怎么写孝感建设公司网站
  • 灯塔网站建设有网站源码怎么做网站