博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React 30 秒速学:制作星级评分组件
阅读量:5972 次
发布时间:2019-06-19

本文共 1474 字,大约阅读时间需要 4 分钟。

本文译自: 。 React 30 秒速学: 精选有用的 React 片段,30-seconds-of-react 的中文版本,已全部完成翻译、上线,地址: 。

星级评分组件。

  • 定义一个名为“Star”的组件,它将根据父组件的状态为每个星形呈现适当的外观。
  • StarRating组件中,使用React.useState()钩子来定义ratingselection状态变量,初始值为props.rating(如果无效或未传入,则为 0 )和 0 。
  • 创建一个方法hoverOver,根据传入的event更新selectedrating
  • 创建一个<div>来包装<Star>组件,这些组件是使用Array.prototype.map在5个元素的数组上创建的,使用Array.from创建,并处理onMouseLeaveselection设置为0的事件,onClick事件设置ratingonMouseOver事件,分别将selection设置为event.targetstar-id属性。
  • 最后,将适当的值传递给每个<Star>组件(starIdmarked)。

星星组件:

function Star({ marked, starId }) {  return (          {/* 空星,实星 */}      {marked ? "\u2605" : "\u2606"}      );}复制代码

星级评分:

function StarRating(props) {  // 分数显示  const [rating, setRating] = React.useState(    typeof props.rating == "number" ? props.rating : 0  );  // 鼠标移入效果  const [selection, setSelection] = React.useState(0);  const hoverOver = event => {    let val = 0;    if (event && event.target && event.target.getAttribute("star-id"))      val = event.target.getAttribute("star-id");    setSelection(val);  };  return (    
hoverOver(null)} // 点击选中分数 onClick={event => setRating(event.target.getAttribute("star-id") || rating) } onMouseOver={hoverOver} > {/* 创建5个组件 */} {Array.from({ length: 5 }, (v, i) => (
= i + 1 : rating >= i + 1} /> ))}
);}复制代码

例子

export default function() {  return 
;}复制代码

转载于:https://juejin.im/post/5cf3d3f0e51d455d88219eba

你可能感兴趣的文章
ASP.NET Core 2 学习笔记(三)中间件
查看>>
SpringMVC Controller介绍及常用注解
查看>>
centos java tomcat 中文乱码解决办法
查看>>
华为交换机限速配置命令2016
查看>>
RabbitMQ系列(五)使用Docker部署RabbitMQ集群
查看>>
056 Java搭建kafka环境
查看>>
Linux Namespace : Network
查看>>
sklearn word2vec 实践
查看>>
Go中string转[]byte的陷阱
查看>>
Android 自定义AlertDialog的写法和弹出软键盘和覆盖状态栏
查看>>
SpringBoot------自定义拦截器
查看>>
Python | 一行命令生成动态二维码
查看>>
django学习--1
查看>>
即将上线的Hive服务器面临的一系列填坑笔记
查看>>
转:Mosquitto用户认证配置
查看>>
『计算机视觉』Mask-RCNN_锚框生成
查看>>
SpringBoot上传文件到本服务器 目录与jar包同级
查看>>
知物由学 | 内容平台、社交媒体如何应对虚假新闻?
查看>>
tensorflow模型量化
查看>>
ThreadLocal的使用及原理分析
查看>>