私は2-3のフィールドを再利用しているので、私のアプリケーションの他のフォームです。だから私はコンポーネントとしてそれらのフィールドを作成して、私が他のフォームを再利用できるようにしたかったのです。還元型は文句を言っているredux-formで再利用可能なフィールドコンポーネントを作成するにはどうすればいいですか?
Error: Field must be inside a component decorated with reduxForm()
どのように私はそれを達成することができますか?私は素材を使用しています。
EDIT:
http://www.material-ui.com/#/components/toolbar
材料-UIツールバーを考える私のツールバーは、フォームのカップルかもしれボタントグルselectField、テキストフィールド、から構成されています。私のアプリケーションでは、アプリケーションでオブジェクトを作成するすべてのフォームにこのツールバーを残したいので、このツールバーをすべてのフォームに含める必要があります。以下の答えの後、私は以下のような汚いものを試しました。class BaseBar extends React.Component { // eslint-disable-line react/prefer-stateless-function
constructor(props) {
super(props);
this.state = {
value: 3,
isGlueOpen: false,
};
}
handleChange = (event, index, value) => {
this.setState({value: value});
}
render() {
return (
<div>
<Toolbar>
<ToolbarGroup firstChild={true}>
<DropDownMenu value={this.state.value} onChange={this.handleChange}>
<MenuItem value={1} primaryText="All Broadcasts" />
<MenuItem value={2} primaryText="All Voice" />
<MenuItem value={3} primaryText="All Text" />
<MenuItem value={4} primaryText="Complete Voice" />
<MenuItem value={5} primaryText="Complete Text" />
<MenuItem value={6} primaryText="Active Voice" />
<MenuItem value={7} primaryText="Active Text" />
</DropDownMenu>
</ToolbarGroup>
<ToolbarSeparator />
<ToolbarGroup>
<ToggleButton onChange={this.props.glueToggle}/>
</ToolbarGroup>
</Toolbar>
</div>
);
}
}
export default BaseBar;
と
<form onSubmit={handleSubmit}>
<div>
<Field
name="basebar"
component={BaseBar}
label="project"
/>
</div>
<div>
<Field
name="subject"
component={renderTextField}
label="subject"
/>
</div>
</form>
以下のような形を含む。しかし上の提出、私はサブジェクトフィールドの値ではなくbasebar値を取得しています、任意の提案やアプローチが大幅に高く評価されます。
はあなたの現在のコード –
を表示することができます[それは](https://stackoverflow.com/questions/44480120)あなたを助けるかもしれません。 –
私はFormSectionの使用を検討すべきだと思っていましたが、なんとなくそれを見逃してしまいました.. – Maru