2016-12-30 2 views
0

Я использую React и Redux. Я хочу передать мою безгосударственную компоненту объекта (Redux) действия, как так:Передача объектов действий redux в компонент Stateless

Из моего контейнера:

render() { 
    const objectOfActions = { 
     changeTitle: this.props.changeTitle, 
     changeDescription: this.props.changeDescription, 
    }; 

    return (
     <StatelessComponent 
      objectOfActions={objectOfActions} 
     /> 
    ); 
    } 

Таким образом, без гражданства компонент могут использовать действия следующим образом:

const SuggestSessionChange = ({objectOfActions}) => { 
    return (
    <div> 
     <Button onClick={objectOfActions.changeTitle}>ChangeTitle</Button> 
    </div> 
); 
} 

Действия, однако, не срабатывают при передаче их, завернутых в объект (хотя они срабатывают, если действия индивидуально передаются компоненту без состояния). Почему это не работает?

ответ

0

Действия на самом деле огонь, у меня была опечатка, вызывающая неопределенную функцию в моей функции без гражданства.

0

изменить аргумент функции как параметр. как вы не делаете никакого деструктурирующего параметр

const SuggestSessionChange = (objectOfActions) => { 
    return (
    <div> 
     <Button onClick={objectOfActions.changeTitle}>ChangeTitle</Button> 
    </div> 
); 
} 
+0

Спасибо за ваше предложение Халида. Оказывается, деструктуризация не имеет никакого значения, это было то, что у меня была опечатка в моем компоненте onClick handler, см. Ниже. – Kunal