<div id="root">
  <!-- Element 들어갈 부분 -->
</div>
// Btn
function Btn({ text, changeValue }) {
  console.log(text, "was rendere");
  
  return (
    <button
      onClick={changeValue}
      style={{
        backgroundColor:"tomato",
        color:"white",
        padding:"10px 20px",
        border:0,
        borderRadius:10
    }}>
    
    {text}
  </button>
 );
}

const MemorizedBtn = React.memo(Btn);

// App
function App() {
  const [value, setValue] = React.useState("Save Changes");
  const changeValue = () => setValue("Revert Changes");
  return (
    <div>
      <MemorizedBtn text={value} changeValue={changeValue} />
      <MemorizedBtn text="Continue" />
    </div>
  );
}

const root = document.getElementById("root");
ReactDOM.render(<App />, root);
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://unpkg.com/react/umd/react.development.js
  2. https://unpkg.com/react-dom/umd/react-dom.development.js