React练习 1 :控制div属性

在线效果浏览

需求:5个按钮,点击后分别修改 1 个div元素的一项属性

2个组件:

父组件:App

a 利用 hook useRef 获取 div元素的引用,并传递给子组件 Myinput

b 数据源数组 styles,使用数组函数 map 返回一个mybtns数组,由5个Myinput子组件组成

子组件:Myinput

绑定 onClick,根据传入的 props.index来判断需设置元素的何种属性

import React,{useRef} from ‘react‘;
import ReactDOM from ‘react-dom‘;
import ‘./index.css‘;

function Myinput(props){
  const handleClick=function(){
    const index=props.index;
    const item=props.item;
    const style=props.btns.current.style;
    switch(index){
      case 0:
        style.width=item.width;
        break;
      case 1:
        style.height=item.height;
        break;
      case 2:
        style.background=item.background;
        break;
      case 3:
        style.display=item.display;
        break;
      case 4:
        style.display=item.display;
        style.width=‘100px‘;
        style.height=‘100px‘;
        style.background=‘black‘;
        break;
    default:style.width=item.width;
    }
  };
  return(
    <input type="button" value={props.value} onClick={handleClick}/>
  );
}

function App(){
  const btns=useRef(null);
  const styles=[
    {width:‘200px‘,value:‘变宽‘},
    {height:‘200px‘,value:‘变高‘},
    {background:‘red‘,value:‘变色‘},
    {display:‘none‘,value:‘隐藏‘},
    {display:‘block‘,value:‘重置‘}
  ];

  const mybtns=styles.map(function(item,index){
    return <Myinput btns={btns} item={item} index={index} value={item.value} key={item.value}/>
  })

  return(
    <div className="outer">
      {mybtns}

      <div ref={btns} className="div1"></div>
    </div>
  );
}
ReactDOM.render(
  <App/>,
  document.getElementById(‘root‘)
);

原文地址:https://www.cnblogs.com/sx00xs/p/11785235.html

时间: 2025-01-07 10:25:16

React练习 1 :控制div属性的相关文章

js练习-控制div属性

要开始练练js了,决定先按照Ferris大大的索引表一个个练,头一个就是控制div属性啦.看似挺简单的,不过平时jquery用惯了,用起来原生js还有点手生呢. 总之就是模仿加练习啦,先看看效果: 一.结构就是这样啦:(就是喜欢用a标签,任性.) <div id="smallBox01"> <a href="#" class="button01">变宽</a> <a href="#"

控制div属性

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

第一课 1) 控制div属性 总结

1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>控制div属性</title> 7 <style> 8 #outer { 9 width: 500px; 10 margin: 0 auto; 11 padding: 0; 12 text-align: center; 1

3.css控制div的显示

div布局CSS控制 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN"> 3 <head> 4 <

css控制div元素旋转指定角度代码实例

css控制div元素旋转指定角度代码实例:本章节介绍一下如何利用css3实现控制元素旋转指定角度的效果.在这里咱们就不考虑低版本的浏览器,因为随着时间的推移,低版本的浏览器会被逐渐淘汰,就算是当前,低版本浏览器的用户的占比也是很少了,下面直接看代码实例: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" conten

CSS如何控制div固定于网页底部

CSS如何控制div固定于网页底部: 网页设计中可能需要这样的效果,那就是将一个条幅放在网页的最底部,并且在网页滚动的时候能够穿过此条幅. 代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <tit

完美实现控制DIV最小高度和DIV自适高度

本文和大家重点讨论一下如何控制DIV最小高度又DIV自适高度问题,如果我们需要设置一个div高度,当里面的东西超过这个高度时,让这个容器自动被撑开,也就是DIV自适应高度.当里面的信息很少时候,我们就设置它一个最小的固定高度. 如何控制DIV最小高度又DIV自适高度 我们在用div布局的时候经常会遇到这样的一种情况:我们需要设置一个DIV高度,当里面的东西超过这个高度时,让这个容器自动被撑开,也就是DIV自适应高度.当里面的信息很少时候,我们就设置它一个最小的固定高度. 我们知道,在IE6中,如

React组件实现越级传递属性

如果有这样一个结构:三级嵌套,分别是:一级父组件.二级子组件.三级孙子组件,且前者包含后者,结构如图: 如果把一个属性,比如color,从一级传递给三级,一般做法是使用props逐一向下传递,代码如下: // 一级父组件 class Level1 extends React.Component{ render(){ return <Level2 color='red'/> } } // 二级子组件 class Level2 extends React.Component{ render(){

用js控制css属性的问题

在用js控制css属性时,行内css属性可以任意控制,但若是在<style></style>中写的css属性,均不能用alert读取,但是赋值却有几种现象, 第一种:无法读取,能直接赋值 如下: <!DOCTYPE html> <head> <title>新建网页</title> <meta http-equiv="Content-Type" content="text/html; charset=