2017-01-12 6 views
0

내가 const를 React Native의 클래스로 변환 하시겠습니까? 내가있는 기능 다음 한

class GreenWood extends Component { 
    constructor(props) { 
     super(props); 
    } 
    ... 
} 

하지만 내 소품 X, Y, x가 정의되지 클래스

로 변환해야하는 기본 응용 프로그램을

const GreenWood = ({x,y,z,f1,f2, f3}) => { 
    ... 
} 

반응. 그들이 앞으로 나아갈 수있는 방법은 무엇입니까?

+0

내가 다음 [가이드]를 읽고 조언 수 (https://facebook.github.io/react/docs/components-and-props.html), 그리고 [이 가능한 관련 질문 (HTTP ://stackoverflow.com/questions/38202572/understanding-react-redux-and-mapstatetoprops) mapDispatchToProps를 살펴 보았습니까? – Hodrobond

+0

글쎄 나는 그 가이드를 읽고, 그것은 "기능적"인 방법으로 내가 옮기기 위해 노력하고 있다고 말하지만, 내가 필요로하는 것은 아니다. 또한 Redux를 사용하지 않고 컴포넌트를 생성하고 일부 소품을 전달하려고합니다. 다른 언어에서는 대개 생성자에서 수행됩니다. – Sigrlami

답변

3

일부 JSX를 반환하는 기능 구성 요소 GreenWood이 있다고 생각합니다.

class Greenwood extends React.Component { 
    constructor(props) { 
    super(props) 
    //...whatever construction you need 
    } 
    render() { 
    const { x, y, z, f1, f2, f3 } = this.props 
    return // your JSX Here 
    } 
} 
+0

예, 렌더링 UI – Sigrlami

0

나는 당신이 수업에서 소품을 파괴 할 수 있다고 생각하지 않는다. 당신은 모든 변수 앞에 this.props을 추가해야하거나 메서드 내 당신은 어떻게 사용 :

var { x, y, z, f1, f2, f3 } = this.props

를하거나 그 방법 내에서 사용하고있는 사람을 넣어.

+0

생성자에서 super를 사용한 후에 이렇게 할 수 있습니까? 나는 이것을하려고 노력했다. x = props.x; 하지만 성공하지 못했습니다 – Sigrlami

+0

당신이 할 수있는 this.x = this.props.x, 왜냐하면 당신은 '이것'을 소품들 앞에 놓아야하는 수업으로 전환했기 때문입니다. –

관련 문제