我如何将 javascript 功能转换为 React.js

How i convert a javascript functionality to React.js

我想将 javascript 代码转换为 Reactjs。我如何在 React.js 中编写此类代码。在 react.js 中帮助我解释我是如何做到这一点的。我还提到了我的 React 代码,我在代码中哪里做错了,以及如何正确地 运行 我的代码。

const select = document.querySelector('select');
const html = document.querySelector('html');
document.body.style.padding = '10px';

function update(bgColor, textColor) {
  html.style.backgroundColor = bgColor;
  html.style.color = textColor;
}

select.onchange = function() {
  ( select.value === 'black' ) ? update('black','white') : update('white','black');
}

<--Html--> This is Html Code which i want to convert it all in jsx file i React.js
<html>
<body>
<label for="theme">Select theme: </label>
<select id="theme">
  <option value="white">White</option>
  <option value="black">Black</option>
</select>

<h1>This is my website</h1>
</body>
</html>

<-- React.js--> 我在代码中哪里做错了以及如何正确地 运行 我的代码。

import React from 'react';

import './App.css';

class App extends React.Component{
  constructor(){
    super();
    this.state={
      whether:'',
      color:''
    }
    }

    
  change=(event)=>{
    this.setState({whether: event.target.value});
  }
  handleChange=(event)=>{
    this.setState({color: event.target.value});
  }

  render(){
   
    let pop=this.state.color;

    return(

     <div>
       
       <label for="weather">Select the weather type today: </label>
<select id="weather" onChange={this.change} >
  <option value="">--Make a choice--</option>
  <option value="Its sunny Today">Sunny</option>
  <option value="ITS Rainy Today">Rainy</option>
  <option value="snowing">Snowing</option>
  <option value="overcast">Overcast</option>
</select>

<label for="theme">Select theme: </label>
<select id="theme" onChange={this.handleChange} >
  <option value="white">White</option>
  <option value="black">Black</option>
</select>

<h1 style={{backgroundColor:{this.state.color}}} >{this.state.whether}</h1>
     </div>
     
    )
  }
}

export default App;

您应该修复 h1 标签中的样式

<h1 style={{backgroundColor:`${this.state.color}`}} >{this.state.whether}</h1>