Как код в App.css включается при экспорте приложения по умолчанию?
Я новичок в реагировании (также на Javascript), у меня возникли сомнения относительно вывода при рендеринге React Component-> App
кода шаблона, созданного с помощью create-response-app.
Вот App.js:
import React from "react";
import "./App.css";
export function App() {
return (
<div className="App">
<h1>Hello</h1>
</div>
);
}
export default App;
App.css:
.App {
text-align: center;
color: blue;
}
index.js:
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
serviceWorker.unregister();
Система файловых каталогов:
.
├── node_modules
├── package.json
├── package-lock.json
├── public
│ ├── favicon.ico
│ ├── index.html
│ ├── logo192.png
│ ├── logo512.png
│ ├── manifest.json
│ └── robots.txt
├── README.md
└── src
├── App.css
├── App.js
├── App.test.js
├── index.css
├── index.js
├── serviceWorker.js
└── setupTests.js
В файле App.js
, export default App;
экспорт App
который затем импортируется в index.js
который использует ReactDOM.render
оказать App
. Мне трудно понять, как код вApp.css
используется / импортируется в index.js
? Только в конце концовApp
экспортируется (по умолчанию), который явно не использует какой-либо код CSS внутри него. Я что-то упускаю или неправильно интерпретирую?
Спасибо за прочтение.
Изменить: в
частности, я хочу знать, как React применяет CSS (которые импортируются) к компонентам, определенным в скрипте?
1 ответ
Переходя к вашему заявлению:
I am having difficulty in understanding how the code in App.css gets used/imported in index.js?
Собственно, вы хотите знать, как код CSS, написанный на App.css
применяется к App
Составная часть. Ответ прост: это потому, что вашApp.js
использует этот файл CSS, так как App.css
импортируется в ваш App.js
файл
`import "./App.css";`
Весь CSS сначала применяется к App
Компонент и только при импорте и рендеринге App
в index.js
с помощью
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
React отображает ваш App
компонент вместе со всем CSS, который предоставляется в App.css
.
Теперь перейдем к другому вашему положению:
Afterall only App is getting exported (as default) which is not visibly using
any CSS code inside it.
Я должен сказать, что это неправильное утверждение, App
Компонент использует CSS, написанный на App.css
. В вашем JSX вы вернули следующее:
<div className="App">
<h1>Hello</h1>
</div>
Вы видите className="App"
, так App
вот твой class selector
и CSS для этого таков.
.App {
text-align: center;
color: blue;
}
Попробуйте использовать здесь любое другое свойство CSS, и вы увидите, как отражаются изменения.