2017-03-24 2 views
0

모든 스타일링에 스타일이 지정된 구성 요소를 사용하고 있으며 어떻게 부모 구성 요소 footer.jsx에서 재사용 가능한 하위 구성 요소로 스타일을 전달할 수 있는지 알고 싶습니다. 소품으로 연락하십시오.반응에서 소품으로 스타일이 지정된 구성 요소 전달

나는 소품으로 문자열을 전달한 다음이를 background-image{this.props.icon}을 업데이트하기 위해 연락처의 스타일이 지정된 구성 요소로 전달했지만이 방법은 작동하지 않으며 현재 시도한 방법과 달리 ' t 아무것도 렌더링합니다.

https://www.webpackbin.com/bins/-Kg0-scl1gRf4UTOaK-Y

Footer.jsx

import React from 'react' 
import styled from 'styled-components' 
import Contact from '../../molecules/Contact' 

const Icon1 = styled.span` 
    margin-top:8.333333px; 
    background:url(icon1.png); 
    width:25px; 
    height:25px; 
    ` 
const Icon2 = styled.span` 
    margin-top:8.333333px; 
    background:url(icon2.png); 
    width:25px; 
    height:25px; 
    ` 
export default class MainFooter extends React.Component { 
    render() { 
    return (
     <Wrapper> 
     <Contact icon={<Icon1 />} /> 
     <Contact icon={<Icon2 />} /> 
     </Wrapper> 
    ) 
    } 
    } 

contact.jsx

export default class Contact extends React.Component { 
return (
    <A href="/"> 
    <Wrapper> 
     <ColLeft> {this.props.icon}</ColLeft> 
    </Wrapper> 
    </A> 
) 
} 

} 모든 올바른을 wbpackbin에서

+0

좋은 답변을 얻으려면 Stack Snippets ([<]] 도구 모음 버튼)를 사용하여 ** 실행 가능 ** [mcve]로 질문을 업데이트하십시오. 스택 스 니펫은 JSX를 포함한 React, CDN을 통한 외부 라이브러리로드 등을 지원합니다. [여기에 하나하는 방법이 있습니다] (http://meta.stackoverflow.com/questions/338537/). –

답변

1

, 당신은 당신의 스팬에 display: block를 추가해야합니다. 귀하의 변형에서 height: 0과 2 개의 범위가 있습니다. screenshot http://prntscr.com/enzkiw

+0

감사합니다! 나 자신을 보았어 야했다. –

관련 문제