Tengo contenedor y componente. ¿Cómo pasar la acción (o?) a los componentes secundarios?
Mi contenedor que maneja acciones
class HeaderContainer extends React.Component {
render() {
const { index } = this.props;
return (
<Header index={index} onChangeIndex={...}/>
);
}
}
const putStateToProps = (state) => {
return {
index: state.schedule.index
};
};
export default connect(putStateToProps, null)(HeaderContainer)
Mi componente que representa los datos del contenedor
const Header = ({ ...props }) => {
const { index, onChangeIndex} = props;
return (
<AppBar position="static" color="default">
<Tabs value={index} onChange={onChangeIndex}>
...
</Tabs>
</AppBar>
)
};
Ahí está mi acción
export const changeIndex = (index) => {
return {
type: SCHEDULE_CHANGE_INDEX,
payload: index
}
};
1
Almaz Kaliev
4 nov. 2019 a las 18:30
1 respuesta
La mejor respuesta
class HeaderContainer extends React.Component {
handleChangeIndex = (event) => {
const index = event.target.value; // You may need to change this line
this.dispatch(changeIndex(index));
}
render() {
const { index } = this.props;
return (
<Header index={index} onChangeIndex={handleChangeIndex}/>
);
}
}
2
Ozan Bulut
4 nov. 2019 a las 15:39
Preguntas relacionadas
Preguntas vinculadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.