css - 如何在剪贴板中复制颜色,reactjs

标签 css reactjs react-hooks jsx

我是reactjs的初学者,我想在点击颜色时复制一种颜色。

应该怎么做?

import React from 'react';

const Green = ()=>{
        return (
            <div>
            <h1 className='g-color-title'>Green Color</h1>
             <div className='container-fluid'>
                 <div className='div-style' id='color31'> #2ECC72 </div>
                 <div className='div-style' id='color32'> #26AE60 </div>
                 <div className='div-style' id='color33'> #6AB04A </div>
                 <div className='div-style' id='color34'> #43BE31 </div>
                 <div className='div-style' id='color35'> #10A881 </div>
                 <div className='div-style' id='color36'> #019031 </div>
                 <div className='div-style' id='color37'> #75DA8B </div>
                 <div className='div-style' id='color38'> #218F76 </div>
                 <div className='div-style' id='color39'> #218F76 </div>
                 <div className='div-style' id='color40'> #7CEC9F </div>
             </div>   
        </div>
        )   
}

export default Green;

最佳答案

您可以使用 navigator.clipboard.writeText()将文本复制到剪贴板。

我建议使用颜色对象,然后使用 Object.entries()map()创建 <div> s 并添加一个 onClick()触发它:

const Green = () => {

    const colors = {
        color31: '#2ECC72',
        color32: '#26AE60',
        color33: '#6AB04A',
        color34: '#43BE31',
        color35: '#10A881',
        color36: '#019031',
        color37: '#75DA8B',
        color38: '#218F76',
        color39: '#218F76',
        color40: '#7CEC9F',
    };

    return (
        <div>
            <h1 className='g-color-title'>Green Color</h1>
            <div className='container-fluid'>
                {Object.entries(colors).map(([id, color]) => 
                    <div className='div-style' id={id} onClick={navigator.clipboard.writeText(color)}>{color}</div>
                )}
            </div>   
        </div>
    );

}

export default Green;

关于css - 如何在剪贴板中复制颜色,reactjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63110552/

相关文章:

javascript - 有没有办法限制 Handlebars 输出中数字显示的小数位数?

javascript - 如何执行对 REST api 的异步 axios 调用并更新商店(redux thunk 令人困惑)?

javascript - 类型 'Element' 不可分配给类型 'string' .ts(2322)

reactjs - 我将如何使用 React Hooks 替换我的 withAuth() HOC?

reactjs - axios 调用 useReducer 返回 promise 而不是数据

html - 使用 css 调整图像大小以适应响应列单元格

html - Bootstrap 堆栈元素在移动设备上的顶部和底部,在桌面上的侧边栏

javascript - 电容器(不存在build.gradle/不允许进行操作)无法构建Android的React应用

javascript - 在固定宽度的 div 中缩放图像,它们之间的距离相等

javascript - 基于 React promised 的 Confirm Modal 无法正常工作。一旦用户取消,在随后的模式打开时,即使用户确认,它也会被取消