create-react-appėžëĄ ëĶŽėĄíļ íëĄė íļëĨž ėėąí ė ėëĪ.
- í°ëŊļëėė ëĪėęģž ę°ė ëŠ ë đėīëĨž ėĪííëĪ.
$ npx create-react-app [ėėąí íīë ėīëĶ]
- VS codeëĄ íīëđ íīëëĨž ė°ëĪ
$ code [ėėąí íīë ėīëĶ]
- VS code ëīėĨ í°ëŊļëėė ëĪėęģž ę°ė ëŠ ë đėīëĨž ė ë ĨíëĐī ëļëžė°ė ė create-react-appė ęļ°ëģļ íėīė§ę° ëŽëĪ.
// package.json íėž ė°ļęģ $ npm start
src íīëėë ėėąí ëŠĻë ė―ëëĪė ëīėėž íëĪ. React JSë ėīëĨž public íīëė index.html íėž ėė <div id="root"></div>
ėė ëĢėīėĪëĪ.
VS codeėė ė―ëëĨž ėė í í ė ėĨíëĐī ëļëžė°ė ėė íėīė§ëĨž ėëĄęģ ėđĻ íė§ ėėë ėëėžëĄ ė ë°ėīíļëëĪ.
Node.jsëĨž ėīėĐíī ėė íęļ° ëëŽļė íëė íėžëđ íëė ėŧīíŽëíļë§ė ę°ė§ëëĄ í í ę·ļ ėŧīíŽëíļëĨž index.js íėžėė inport í ė ėëĪ.
src íīëėė ę°ėĨ íĩėŽėī ëë íėžė React ėąė ë ëë§íīėĢžë index.js íėžėīëĪ.
index.js íėž
ėė íė ėë ė―ëëĪė ėė íėŽ ëĪėęģž ę°ėī ėė íëĪ.
import React from "react";
import ReactDOM from "react-dom";
import App from "./App";
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById("root")
);
App.js íėž
ėėë íė ėë ė―ëëĪė ėė íėŽ ëĪėęģž ę°ėī ėė íëĪ.
function App() { // App ėŧīíŽëíļ
return <div>Welcome back to React!</div>;
}
export default App;
src íīëėė index.js íėžęģž App.js íėžë§ ëĻęļ°ęģ ëëĻļė§ ëŠĻë íėžëĪė ėė íëĪ.
Button.js íėžė Button ėŧīíŽëíļëĨž ë§ë í export default íëĪ.
App.js íėžėė Button ėŧīíŽëíļëĨž import í í ėīëĨž App íĻėę° return íë div íę·ļ ėė ëĢėëĪ.
(ë§ė― import í í ėŽėĐíė§ ėëëĪëĐī Reactę° ė―ėė ęē―ęģ ëĨž ëėėĪëĪ.)
prop-typesëĨž ėĪėđíëĪ.
$ npm i prop-types
Button.js íėžėė prop-typesëĨž import í í ėīëĨž ėŽėĐíëĪ.
// Button.js
import PropTypes from "prop-types";
Button.propTypes = {
text: PropTypes.string.isRequired,
};
create-react-app(ėīí cra)ëĄ ėė í ë CSSëĨž ėķę°íęļ° ėíīėë 3ę°ė§ ėĩė ėĪ íëëĨž ė íí ė ėëĪ.
ėēŦ ëēė§ļ ë°Đëēė src íīëė ėĪė§ íëė CSS íėžė ë§ëë ęēėīëĪ.
// styles.css
button {
background-color: lightblue;
color: white;
}
ėėąí ėĪíėžė ė ėĐíęļ° ėíī index.js íėžėė styles.css íėžė import íëĪ.
// index.js
import "./styles.css";
ę·ļëŽë ėīë ęē íëĐī cra ėą ėė ëŠĻë buttonė ëíī íīëđ ėĪíėžėī ė ėė ėžëĄ ė ėĐëęģ ë§ëĪ.
Button ėŧīíŽëíļė style ėėąė ėķę°íëĪ.
function Button({ text }) {
return (
<button style={{ backgroundColor: "lightblue", color: "white" }}>
{text}
</button>
);
}
ę·ļëŽë ėīë ęē íëĐī ëŠĻë ëēížë§ëĪ ë°ëĄ ėĪíėžė ėķę°íīėĪėž íëĪ.
src íīë ėė Button.module.css
íėžė ėėąíëĪ.
íīëđ íėžė ėŽëŽ ëēížëĪė ė ėĐí ėĪíėžëĪė ė íė ëąė ėīėĐíī ęĩŽëķíī ėėąíëĪ.
.btn {
background-color: lightblue;
color: white;
}
Button.js íėžėė Button.module.css íėžė import í íëĪ.
Button ėŧīíŽëíļę° return íë button ėėė classëĨž ėķę°íëĪ.
ėīë import ë° class ėķę°ë ëĪėęģž ę°ėī íīėž íëĪ.
ėĪė ëĄ ę°ë°ė ëęĩŽėė Elements íė íėļíīëģīëĐī ëŽīėė ëëĪ classę° ëķėŽëë ęēė íėļí ė ėëĪ.
import styles from "./Button.module.css";
function Button({ text }) {
return <button className={styles.btn}>{text}</button>;
}