Я обновлю ответ, если вы также можете предоставить презентационный компонент DoorOrders
.И форма или пример fields
реквизита.
На данный момент, я буду предполагать, что fields
является DoorOrders
реквизитом, не происходит от redux
и имеет форму, подобную:
[
{ leftStile: "firstName", initialValue: "John" },
{ leftStile: "lastName", initialValue: "Doe" },
//...
]
Вы можете получить доступ к этим реквизитам в функции mapStateToProps
в качестве второго аргумента :
import { fromPairs } from "ramda"
//...
const mapStateToProps = (state, ownProps) => ({
form: state.form,
submitted: state.Orders.submitted,
initializeValues: R.fromPairs( // <= see below
ownProps.fields.map(table => [table.leftStile, table.initialValue])
)
});
//...
Я использую ramda's fromPairs
преобразовать [[a, b], [c, d]]
в { a: b, c: d }
, потому что мне это нравится, но другие библиотеки, такие как lodash , могут достичь этого (или ванильный JavaScript).
Надеюсь, это поможет.