在const中分配值

如何在我的常量中分配一个值?


在表单中,我检查了一些输入,当该值为true时,我需要更改此值以与客户端的Web服务通信,如果为false,我也需要更改该值,但是我不能简单地通过用新值声明const。


我试图直接在const中更改值,但是它不起作用


在CodeSandbox中遵循我的代码:https ://codesandbox.io/s/n08n2m7mpj



import React, { useState } from "react";

import ReactDOM from "react-dom";


import Switch from "@material-ui/core/Switch";


import "./styles.css";


function App(props) {

  const initialFormState = {

    datRev: "01/05/2019",

    empRev: "1",

    numCad: "5",

    numEmp: "1",

    obsRev: "ReactJS done!",

    sitRev: "1",

    tipCol: "1",

    tipEqp: "10",

    tipSvc: "100",

    cheklist: {

      "": "",

      "": "",

      "": "",

      "": ""

    },


    codCkl: "4",

    sitCkl: "N",

    selPro: "S",

    obsCkl: "obs insomina"

  };


  const [equipRev, setEquipRevisao] = useState(initialFormState);

  const [checkedA, setCheckedA] = useState(false);


  const handleChange = nameChecked => event => {

    const { name, value } = event.target;


    setCheckedA({ [nameChecked]: event.target.checked });


    if (event.target.checked === true) {

      console.log("True: " + event.target.checked);

      const value = "S";

    } else {

      console.log("False: " + event.target.checked);

      const value = "N";

    }


    console.log("Value: " + value);

    setEquipRevisao({ ...equipRev, [name]: value });


    console.log("sitCkl: " + equipRev.sitCkl);

  };


  return (

    <div className="App">

      <h1>Hello CodeSandbox</h1>

      <h2>Start editing to see some magic happen!</h2>


      <Switch

        name="sitCkl"

        checked={props.checkedA}

        onChange={handleChange("checkedA")}

        value={equipRev.sitCkl}

      />

    </div>

  );

}


const rootElement = document.getElementById("root");

ReactDOM.render(<App />, rootElement);

我希望“ event.target.checked”为true,它将sitCkl的值从equipRev更改为“ S”,如果为false,则将sitCkl的值从equipRev更改为“ N”。


慕娘9325324
浏览 184回答 2
2回答

翻翻过去那场雪

如果必须更改其值,则可以使用let代替声明它const。(重点const不是重新分配值)。&nbsp; const handleChange = nameChecked => event => {&nbsp; &nbsp; let { name, value } = event.target;&nbsp; &nbsp; setCheckedA({ [nameChecked]: event.target.checked });&nbsp; &nbsp; if (event.target.checked === true) {&nbsp; &nbsp; &nbsp; console.log("True: " + event.target.checked);&nbsp; &nbsp; &nbsp; value = "S";//...

米脂

常量是块作用域的,非常类似于使用let语句定义的变量。常量的值不能通过重新分配而更改,也不能重新声明因此,const的要点是,一旦声明它,就不能更改它。如果需要将值分配和重新分配给变量的能力。使用let或var会更好。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript