<App foo="123" />
@connect((state) => state, () => {})
class App extends Component
И я хотел бы отобразить приложение с 123.
Но, если состояние в MapStateToProps имеет ключ foo
и его значение равно abc
,Компонент будет отображать abc
.
Я мог проверить ownProps.
@connect((state, ownProps) => ({...state, ...ownProps}), () => {})
class App extends Component
и объединить собственные свойства и состояния.Но если я начну отправлять действия по обновлению foo в Redux, состояние всегда будет abc
.ownProps всегда будет переопределять ключи в состоянии.
Я могу отправить действие, когда компонент монтируется.
componentDidMount() {
dispatchFoo(this.props.value)
}
когда компонент монтируется, я отправляю значение
@ connect ((state) => state, () => {}) `
Store будет обновленс abc
, значение собственного реквизита.Redux обновится, и компонент будет визуализироваться еще раз.
Но на этот раз состояние будет abc
in ..
@connect((state) => state, () => {})
Каков наилучший способ установить что-токак это?Предпочтительно, для этого не требуется, чтобы компонент отображался дважды (я использую SSR).
В моем случае я использую NextJS и выполняю вызов API для получения данных в getInitialProps.Возврат getInitialProps помещает данные в реквизит.Эти реквизиты даны в App.Когда пользователь меняет состояние, приложению теперь нужны данные из состояния, а не реквизиты