为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以像 JavaScript 中的代码片段所示传递变量值?

是否可以像 JavaScript 中的代码片段所示传递变量值?

Smart猫小萌 2023-07-29 13:42:24
我想在单击按钮时生成随机颜色。请问生成随机颜色的方法是否正确?randomColor = "#" + Math.floor(Math.random() * 16777215).toString(16);// --- more code ---changeHeaderColor() {  console.log("Change_header_color_was_clicked");  this.setState({ colors: "randomColor" });}// --- more code ---render() {  return (    <h1 style={{ color: this.state.colors }}>      This is the header Component{" "}      <button onClick={() => this.changeHeaderColor()}>        Change Header Color      </button>    </h1>  );}
查看完整描述

1 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

因为您是以静态方式执行此操作并将其设置为状态,所以您所能做的就是简单地说:


const randomColor = '#'+Math.floor(Math.random()*16777215).toString(16);

然后使用:


<h1 style={{color: randomColor}}>

您可以通过更改状态变量来获得简单的重新渲染选项,这会强制重新渲染。


完整代码


import React, { useState } from "react";


export default function App() {

  const [change, setChange] = useState(0);

  const randomColor = "#" + Math.floor(Math.random() * 16777215).toString(16);

  const style = { color: randomColor };

  const handleChange = (e) => {

    e.preventDefault();

    // Just trigger a change.

    setChange(change + 1);

  };

  return (

    <div className="App">

      <h1 style={style}>Hello CodeSandbox</h1>

      <button onClick={handleChange}>Change Colour</button>

    </div>

  );

}

查看完整回答
反对 回复 2023-07-29
  • 1 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信