【发布时间】:2021-01-04 22:22:38
【问题描述】:
您好,我对反应和编码非常陌生,所以请在您的解释中宝贝我。
我在 react 中创建了一个名为 Header1 的组件。我使用道具使用了动态文本,因此每次使用 Header1 组件时都可以更改措辞。我想知道如何为风格做到这一点。我希望一张卡片有粉红色的文字,而另一张卡片有蓝色的文字。请帮忙!并提前谢谢你:)
以下是Header1组件的创建:
import React from 'react';
import WhiteMap from '../img/other/whiteWorld.png';
import HeaderScss from './_Header1.scss'
const header1 = (props, style)=>{
return <div className="main--container">
<header className="header--container__inside">
<section className="header--container__left">
<h1>
{props.headerTitle}
{style.headerTitleS}
</h1>
<p>
{props.headerDescription}
</p>
</section>
<section className="header--container__right">
<div className="header--pic">
<img src={WhiteMap} alt="World map with a circle highlighting Australia"/>
</div>
</section>
</header>
</div>
};
export default header1;
以下是我两次使用 Header1 组件的主要 App.js 文件:
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import Navigation1 from './Navigation/Navigation1';
import Header1 from './Header/Header1';
import SaveMoney1 from './SaveMoney/SaveMoney1';
import Airports1 from './Airports/Airports1';
// import SydneyCards1 from './SydneyCards/SydneyCards1';
import ThingsYouShouldKnow1 from './ThingsYouShouldKnow/ThingsYouShouldKnow1';
// import BucketList1 from './BucketlistCards/BucketlistCards1';
// import Footer1 from './Footer/Footer1';
import styles from './appStyles.module.css';
class App extends Component {
render() {
return (
<div className="App">
<Navigation1 />
<Header1 headerTitle="Fly to" headerDescription=" Selia."/>
<SaveMoney1/>
<Airports1/>
<Header1 headerTitle="Things you should know" headerDescription ="Based on customer bookings,
{/* <BucketList1/> */}
{/* <SydneyCards1/> */}
{/* <Footer1/> */}
</div>
);
}
}
export default App;
【问题讨论】:
-
在不添加样式库的情况下,您可以:添加一个 prop 以将样式或 className 传递给 Header1 组件(即
<Header1 style={{ background: 'red' }} />),然后在渲染 Header1 中的根 div 时使用这些样式或 className。另一种选择是提供一组颜色选择,并通过道具选择要使用的颜色(即<Header1 color="primary" />) -
我可能做错了,但我在 Header1 创建页面的括号中添加了样式,然后在 app.js 主页面中完成了 style={{ color:'red'}} 但它不起作用:(
标签: javascript reactjs components styles