It's not the cookies!! \o/
TL;DR: The flux stores are not being initialised on every request.
First request to the server:
request cookies: {}
params: {}
toggles: {}
| const mapStateToProps = (state) => ({ | |
| viewModel: getViewModel(state) | |
| }); |
| const mapStateToProps = ({ filters }) => ({ | |
| viewModel: new ViewModel(filters.channel, filters.filters, filters.sortType) | |
| }); |
| const { createSelector } = require('reselect'); | |
| export const getViewModel = createSelector( | |
| [ | |
| getFiltersChannel, | |
| getFilters, | |
| getFiltersSort | |
| ], | |
| (channel, filters, sortType) => new ViewModel(channel, filters, sortType) | |
| ); |
| const WhyYouUpdate = Component => { | |
| class WhyYouUpdate extends React.Component { | |
| componentDidUpdate(prevProps, prevState) { | |
| deepDiff( | |
| { props: prevProps, state: prevState }, | |
| { props: this.props, state: this.state }, | |
| Component.displayName | |
| ); | |
| } |
| const SearchBarContainer = ({ viewModel }) => ( ... ); | |
| const mapStateToProps = ({ filters }) => ({ | |
| viewModel: new ViewModel(filters.channel, filters.filters, filters.sortType) | |
| }); | |
| export default connect(mapStateToProps)(SearchBarContainer); |
| const Component = ({ shouldRenderFeature }) => ( ... ); | |
| const mapStateToProps = (state) => ({ | |
| shouldRenderFeature: state.toggles.featureA | |
| }); | |
| export default connect(mapStateToProps)(Component); |
| export default function featureToggles(state={}, action) { | |
| switch (action.type) { | |
| case Actions.FEATURE_TOGGLES_UPDATED: | |
| return { ...state, ...action.data }; | |
| default: | |
| return state; | |
| } | |
| } |
It's not the cookies!! \o/
TL;DR: The flux stores are not being initialised on every request.
First request to the server:
request cookies: {}
params: {}
toggles: {}
| class FeatureToggleStore extends MapStore { | |
| getInitialState() { | |
| return { featureToggles: {} }; | |
| } | |
| reduce(state, payload) { | |
| const { action } = payload; | |
| switch (action.type) { | |
| case Actions.FEATURE_TOGGLES_UPDATED: | |
| const featureToggles = { |