Лучшая практика для получения только частей магазина / состояния в компоненте React с использованием приставки - PullRequest
0 голосов
/ 04 декабря 2018

Я реализовал с помощью избыточного thunk, что, если монтируется один компонент, хранилище заполняется путем вызова API.

Запрашиваемые данные имеют гораздо больше полей, чем мне нужно в компонентах particalur.Не могли бы вы дать мне совет, как лучше всего получать только часть данных.Поскольку хранение сокращенной версии данных (дублирование) также не будет хорошей практикой, не так ли?

Ответы [ 3 ]

0 голосов
/ 04 декабря 2018

Вы можете деконструировать данные.

Например, когда вы подключаете свой компонент к состоянию избыточности.

const mapStateToProps = state => {
    relevantPartOfTheState: state.some.part.of.the.state
}

По сути, это то, что делают селекторы.

Запрашиваемые данные имеют гораздо больше полей, чем мне нужно в компонентах particalur

Вы не обязаны сохранять все это.Вы можете иметь что-то вроде этого.

switch (action.type) {
    case RECEIVE_USELESS_DATA:
        return action.payload.onlyRelevantData
}
0 голосов
/ 04 декабря 2018

Вы можете использовать селекторы, как упомянуто выше, или что-то вроде этого:

const mapStateToProps = state => {
    relevantPartOfTheState: fetchSliceOfReducer(state)
}

fetchSliceOfReducer (состояние) может быть функцией внутри файла редуктора, где вы берете только часть состояния.Очевидно, вам нужно импортировать функцию в файл компонента, и ее можно использовать повторно для других компонентов.Так что, если ваше состояние примерно такое:

state = {
 value: true,
 name:"Michael"
}

, ваша функция будет const fetchSliceOfReducer = state => state.value. Селекторы будут более подходящими для растущего приложения, где, как в примере выше, приятно и аккуратно для чего-то меньшего

0 голосов
/ 04 декабря 2018

Если я правильно понял вопрос, вы можете использовать селекторы

...