2016-10-01 58 views
1

改变CSS这是我原来的代码:阵营使用镭下DIV

的CSS将改变所有的p标签下<div className="TEST">

Home.js

export default class Home extends Component { 
    render() { 
    return (
     <div className="TEST"> 
      <p>1234567</p> 
      <p>1234567</p> 
      <p>1234567</p> 
      <a>qqqqqqqqqqqq</a> 
     </div> 
    ); 
    } 
} 

风格。 css

.TEST p { 
    color:#ffa; 
} 

,如果我使用镭,我需要每个p<div className="TEST">
有一些方法我可以添加样式<div className="TEST">只是一个时间来改变P个色彩像style.css的方式添加???

import Radium from 'radium'; 

let styles = { 
    home:{ 
    test:{ 
    color:'#ffa', 
    } 
} 

export default class Home extends Component { 
    render() { 
    return (
     <div className="TEST"> 
      <p style={styles.test}>1234567</p> 
      <p style={styles.test}>1234567</p> 
      <p style={styles.test}>1234567</p> 
      <a>qqqqqqqqqqqq</a> 
     </div> 
    ); 
    } 
} 
+0

不知道,如果是明确的给我,但我猜你正在寻找动态地添加新样式你的'样式'对象,然后在'render()'方法中使用它们,对吗? – dzv3

+0

是的,我想知道如果我使用镭,是否意味着我需要在每个标签上添加样式,或者有其他方法,我可以只设置一次 – user2492364

回答

0

您可以使用镭的Style组件(多见于:https://github.com/FormidableLabs/radium/tree/master/docs/api#style-component

import React, { Component } from 'react' 
import Radium, { Style } from 'radium' 

export default class Home extends Component { 
    render() { 
    return (
     <div> 
     <Style scopeSelector=".TEST p" rules={{ color: '#ffa' }} /> 
     <div className="TEST"> 
      <p>1234567</p> 
      <p>1234567</p> 
      <p>1234567</p> 
     </div> 
     </div> 
    ) 
    } 
} 
+0

谢谢!我有另一个问题。当你写组件时,你会用镭取代css文件吗?或者你使用他们两个? – user2492364

+0

在我上一个项目中,我使用Radium完全替换了内联样式的css文件。不过,你可以保留两者。 –