React实现原型图的过程

抽取组件的步骤:
1、列出原型图需要的每一条数据
2、标记出哪一些是state,哪一些不是
2.1 随着时间推移保持不变的?不是state(常量)
2.2 通过props从父组件传递? 不是state (props)
2.3 是否可以基于已存在于组件中的state或者props进行计算? 不是state (computed,写在初始化部分代码)

3、验证state应该被放置在哪里
*在验证你应用程序的最小state数据之后,你需要验证哪个组件是通过改变state实现可响应的,或者拥有这个state。记住:React使用单向数据流,通过组件层级结构从父组件传递至子组件。要搞清楚哪个组件拥有哪个state。
为你的应用程序的每一个state:
1、验证每一个基于特定state渲染的组件
2、你也可以将state放置于他们父组件上层的组件
3、如果你找不到一个有意义拥有这个state的地方,单独创建一个新的组件去管理这个state,并将它添加到它们父组件上层的某个地方。
4、为这个 state 贯彻我们的策略
1、验证使用state的组件
*ProductTable需要基于state(搜索和复选框值)过滤产品列表
*SearchBar需要展示state(搜索和复选框值)
2、寻找它们的父组件:他们的第一个共同父组件为:FilterableProductTable
3、决定state放置的地方:我们将放置过滤文本和勾选state的值于FilterableProductTable中
5、添加反向数据流
SearchBar中的change事件改变时,通过抛出事件到父组件中改变state,从而触发更新ProductTable和SearchBar的响应式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了实现缩略图,我们可以使用React组件和useEffect()钩子来初始化缩略图的图片资源、标题、副标题和文本数据。同时,我们需要将静态资源保存在public文件夹下,并将下载的图片拷贝到public目录下。 以下是一个简单的React组件示例,用于实现缩略图: ```jsx import React, { useState, useEffect } from 'react'; function Thumbnail(props) { const [img, setImg] = useState(''); const [title, setTitle] = useState(''); const [subtitle, setSubtitle] = useState(''); const [text, setText] = useState(''); useEffect(() => { setImg(props.img); setTitle(props.title); setSubtitle(props.subtitle); setText(props.text); }, [props.img, props.title, props.subtitle, props.text]); return ( <div className="thumbnail"> <img src={img} alt={title} /> <h3>{title}</h3> <h4>{subtitle}</h4> <p>{text}</p> </div> ); } export default Thumbnail; ``` 在上面的代码中,我们使用useState()钩子来定义img、title、subtitle和text状态变量,并使用useEffect()钩子来初始化这些状态变量。当传递给组件的props发生变化时,useEffect()钩子会重新运行,从而更新状态变量。 我们可以将上面的组件用作其他组件的子组件,以便在页面上显示多个缩略图。例如: ```jsx import React from 'react'; import Thumbnail from './Thumbnail'; function ThumbnailList(props) { const thumbnails = props.thumbnails.map((thumbnail) => ( <Thumbnail key={thumbnail.id} img={thumbnail.img} title={thumbnail.title} subtitle={thumbnail.subtitle} text={thumbnail.text} /> )); return <div className="thumbnail-list">{thumbnails}</div>; } export default ThumbnailList; ``` 在上面的代码中,我们使用map()函数将传递给组件的缩略图数组转换为Thumbnail组件数组,并将它们渲染到页面上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值