Я использую реагирование / избыточность, чтобы создать редактор таблиц.
<TableContainer name="Users" />
В контейнере я подключаю его к хранилищу приставок:
@connect((store)=> {
return {
tableData: store.tableData
}
})
У меня есть редуктор для tableData:
//tableDataReducer.js
const initialState = {
fetchingRows: false,
rows: [],
selected: [],
mass_editing_col_name: '',
editing_row_id: null,
//etc...
};
Это прекрасно работает, когда у меня только одна таблица на странице. Но когда я пытаюсь использовать две таблицы на одной странице, они конкурируют за tableData
из магазина:
<TableContainer name="Users" />
<TableContainer name="Products" />
//These tables both fight over store.tableData
Я думаю, мне нужно сделать что-то вроде этого:
@connect((store)=> {
return {
tableData: store.tableData[this.props.name]
}
})
//I don't have access to props though, and store.tableData.Users doesnt exist anyways!
Итак, у меня два вопроса:
- Как я могу динамически создавать
store.tableData.Users
и store.tableData.Products
(используя начальное состояние).
- Как получить доступ к
props
в методе @connect
, чтобы получить доступ к нужной части магазина?