Я пытаюсь реализовать Подменю (вложенное меню).
Стоит отметить, что я использую компонент Hydra и у меня нет предыдущего опыта работы с редуксом (начал изучать его несколько дней)назад из-за этой специфической проблемы).
Я следовал примеру, предоставленному для Material-UI для вложенного списка https://material -ui.com / demos / lists / # nested-list ,И учебник из https://marmelab.com/react-admin/Theming.html#using-a-custom-menu для реализации пользовательского меню.
Итак, у меня есть несколько вопросов.
1) Могу ли я иметь компонент с состоянием (MyMenu) только для обработки переключения пунктов меню?
Пример относится не к реагирующему администратору, а к тому, что я имею в виду.
import React, { Component } from "react";
import { connect } from "react-redux";
import { addArticle } from "../actions/index";
const mapDispatchToProps = dispatch => {
return {
addArticle: article => dispatch(addArticle(article))
};
};
class ConnectedForm extends Component {
constructor() {
super();
this.state = {
title: ""
};
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleChange(event) {
this.setState({ [event.target.id]: event.target.value });
}
handleSubmit(event) {
event.preventDefault();
const { title } = this.state;
const id = uuidv1();
this.props.addArticle({ title, id });
this.setState({ title: "" });
}
render() {
const { title } = this.state;
return (
<form onSubmit={this.handleSubmit}>
<div className="form-group">
<label htmlFor="title">Title</label>
<input
type="text"
className="form-control"
id="title"
value={title}
onChange={this.handleChange}
/>
</div>
<button type="submit" className="btn btn-success btn-lg">
SAVE
</button>
</form>
);
}
}
const Form = connect(null, mapDispatchToProps)(ConnectedForm);
export default Form;
2) Если нет, могу ли я добиться этого, объявив новое состояние в хранилище, дляНапример, open: false, а затем использовать пользовательский редуктор для обработки этого.
3 (бонус).Если это не проблема, я был бы признателен, если бы кто-то мог направить меня в правильном направлении, с чего начать изучать в первую очередь, чтобы мне было менее болезненно удается решать вопросы, связанные с этой удивительной структурой :)