2017-01-19 3 views
0

Есть ли способ отправить какие-либо реквизиты, которые приходят от родителя, но с одним реквизитом изменились?Отправить ребенку this.props с изменением одного реквизита

У меня есть страница, где я рендеринга InputList. И в этом компоненте я снова показываю InputList. Поэтому я отправляю {...this.props} с одним изменением реквизита - modal. Но когда я отправляю <InputList modal={true} {this.props}/>. Значение modal берет с ...this.props. поэтому значение false вместо true, любые подсказки?

Уверен, есть возможность отправки всех реквизитов индивидуально, но у меня много реквизита, поэтому я хочу использовать this.props .. Или я могу использовать что-то вроде const { modal, ...others} = this.props, но есть больше реквизита, что с использованием i есть const { modal,...,...,...,...,...} = this.props

class Page extends Component{ 
     render(){ 
     return(
       <InputList modal={false} list={...} valueA={..} valueB={..} 
        firstTitle={..} secondTitle={..} /> 
     ) 
     } 
    } 

    class InputList extends Component{ 
     render(){ 
      const {modal,list,valueA,valueB,firstTitle,secondTitle} = this.props; 
      .... 
     return(
      .... 
       <InputList modal={true} {...this.props} /> 
     ) 
     } 
    } 

ответ

1

Будет ли это работать на вас?

class InputList extends Component { 
    render(){ 
    const passProps = Object.assign({}, this.props, {modal: true}) 
    return(
     .... 
     <InputList {...passProps} /> 
    ) 
} 
+0

Спасибо, это работает, но это только одно решение? –

Смежные вопросы