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

怎么在一个网站做多个页面凉山州住房和城乡建设局门户网站

怎么在一个网站做多个页面,凉山州住房和城乡建设局门户网站,自己做动漫 哪个网站赚钱,关于网站建设的论文提纲这篇文章也可以在我的博客中查看 问题 为什么会有这么奇怪的需求?在事情真正发生前真的难说,但真遇到一个需要这么做的情况。 最近想做一个网页时钟,它的结构如下: 时钟(计算时间,组织各个要素&#xff…

这篇文章也可以在我的博客中查看

问题

为什么会有这么奇怪的需求?在事情真正发生前真的难说,但真遇到一个需要这么做的情况。

最近想做一个网页时钟,它的结构如下:

+ 时钟(计算时间,组织各个要素)
|--+ 设置面板(时间设置)
|--+ 主题(显示时间的样式)
  1. 设置是针对于时钟的,比如:进制、时区……
  2. 主题可以不断增加,用于花里花哨地改变时钟的输出

但现在我需要为主题也增加设置项,加入到设置面板中
因此需要同级传递数据(主题->设置面板)

解决

改变结构

我也想过改变时钟的结构,比如:

+ 时钟(计算时间,组织各个要素)
|--+ 主题(显示时间的样式)|--+ 设置面板(时间设置)

这样主题、设置面板就是父子关系,想要往下传递数据使用一般的props属性就可以

但是我的设置面板本身是针对时钟的,也就是无论主题怎么更变,设置面板的总体样式都是不变的。
也就是,我布局设置面板,不需要主题的参与

虽然这么做是可以解决问题的,但针对这个案例:
我左思右想,最后还是认为:设置面板的父元素应该是时钟,而不是主题

父组件中介

先总结一下,各种流向信息在React中的传递方法是:

  1. 自上而下:向Props属性传入值
  2. 自下而上:向Props属性传入setState函数回调
  3. 全局:Context
  4. 同级:???

好吧。显然,最直截了当的方法是:把同级看做是一个“自下而上而下”操作

设置面板

子组件ClockSettings中,定义可插入的ReactNode元素插槽:

interface IClockSettingsProps {themeSettingsNode?: ReactNode,
}export default function ClockSettings({ ...props }: IClockSettingsProps) {return (<div>{props.themeSettingsNode}</div>)
}

主题

首次渲染时调用onLoadSettings,传出该主题的设置项元素(ReactNode):

interface IClockProps {onLoadSettings?: (value: ReactNode) => void,
}export default function ClockTheme1({ ...props }: IClockProps) {useEffect(() => {props.onLoadSettings?.(<div>{/* input element maybe... */}</div>)}, []);
}

父元素

最后,在父元素(时钟)里,组合数据的传递:

export default function Clock() {const [settingsNode, setSettingsNode] = useState<ReactNode>();return <><ClockTheme1 onLoadSettings={setSettingsNode} /><ClockSettings themeSettingsNode={settingsNode} /></>)
}

小结

在同级组件之间传递数据,无论是简单数值还是复杂元素,都需要通过父组件作为跳板

http://www.yayakq.cn/news/803345/

相关文章:

  • 微信小程序开发技术wordpress关键词优化插件
  • 做网站对于不同的分辨率热门关键词排名查询
  • 企业如何建设免费网站开发商城网站多少钱
  • 温州网站推广驭明运用django做网站
  • 高埗网站建设公司和百度一样的网站
  • 司法网站建设运营情况网站没有建设好可以备案吗
  • 网站改完域名打开速度慢wordpress小工具使用
  • 如何确定网站建设 栏目建设一个网站需要什么技术
  • 建设部网站四库一平台邢台有什么网站
  • 360网站图标怎么做域名解析入口
  • 建设实验室网站的意义计算机包含哪些专业
  • 厦门450元网站建设公司百度问答seo
  • 个人网站建设的步骤南宁手机网站建设公司
  • 网站织梦后台怎么做厦门总全设计装饰工程有限公司
  • iis7搭建aspx网站自己做购物网站好吗
  • 上海礼品定制网站帝国网站模板建设完成显示不正常
  • 网站优化免费行情软件网站直播
  • 如何建设视频网站广东设计公司排名
  • 西安网站排名优化培训开封旅游网站建设网页推广
  • 做兼职那个网站比较好在线做网站需要什么
  • 网站的大图标怎么做模板建站代理
  • node 做的网站后端网页制作与设计专业
  • 创联互动建设网站如何同步目录wordpress
  • 山西做网站优势html5网站建站书
  • 广西建设厅考试网站pageadmin wordpress
  • 沧州做网站电脑网游
  • 北京建设工程招标公告网站网站制作哈尔滨
  • 公司网页制作报价蚌埠网站关键词优化
  • 夜夜做新郎网站公司注册地址和实际不一样可以吗
  • 昆明网站免费制作上海网站建设哪家技术好