2016-10-26 2 views
1

redux 구성 요소를 사용하여 머티리얼 TextField를 래핑합니다. 일부 속성은 mapStateToProps에서만 사용해야하며 구성 요소 자체에는 전달되지 않습니다. 그렇지 않으면 Unknown prop 경고가 표시됩니다. 정의되지 않은 값을 지정해도 도움이되지 않습니다.mapStateToProps의 속성 제거

function mapStateToProps(state = {}, ownProps) { 
    var dataKey = ownProps.dataKey; 
    return { 
     value: state[dataKey], 
     dataKey: undefined 
    } 
} 
const store = createStore(reducer, {stuff: 123}); 

const toDraw = <TextInput dataKey="stuff"/> 

jsfiddle

오히려 래퍼 구성 요소를 만드는 것보다 mapStateToProps에서 ownProps에서 무언가를 제거 할 수있는 간단한 방법이있다인가? 당신이 당신의 구성 요소에 보낼 소품 벚꽃이-선택합니다 당신의 자신의 버전을 쓰기

function mergeProps(stateProps, dispatchProps, ownProps) { 
    return Object.assign({}, ownProps, stateProps, dispatchProps); 
} 

:

답변

1

당신은 기본값은 연결의 3 인자 mergeProps,하는 기능을 제공하여 그것을 할 수 있습니다.