У меня есть представление в моем проекте, где пользователь может получить список страниц, а также может создать новую страницу. Мой код выглядит так:
РОДИТЕЛЬСКИЙ КОМПОНЕНТ (СТРАНИЦЫ)
class Pages extends Component {
render() {
return (
<div className="pages container">
<div className="pages">
<ul>
<li>
<CreateNewPage projectId={ this.props.params.id } />
</li>
<li>Map list of exisiting pages</li>
</ul>
</div>
</div>
);
}
}
ДЕТСКИЙ КОМПОНЕНТ (СОЗДАТЬ НОВУЮ СТРАНИЦУ)
class CreateNewPage extends Component {
handleFormSubmit( { pageName, projectId } ) {
this.props.CreatePage( { pageName, projectId } );
}
render() {
const { handleSubmit, fields: { pageName, projectId } } = this.props;
return (
<form onSubmit={ handleSubmit( this.handleFormSubmit.bind( this ) ) } >
<label>Create new page</label>
<input { ...pageName } type="text" placeholder="Project name" />
<input { ...projectId } type="hidden" value={ this.props.projectId } />
<button type="submit">Create new page</button>
</form>
);
}
}
export default reduxForm({
form: 'createPage',
fields: [ 'pageName', 'projectId' ]
}, null, actions )( CreateNewPage );
Pages получает идентификатор как опору от React Router, и я хочу сделать его доступным для формы Redux в моем компоненте «Создать новую страницу», чтобы я мог связать страницу с проектом в моей БД.
В настоящее время я делаю доступным идентификатор проекта, передавая его в качестве опоры компоненту «Создать новую страницу», а затем сохраняя его в скрытом поле ввода.
Это мое первое приложение Redux, поэтому все, что я хочу знать, правильно ли я это делаю? Спасибо заранее.