Вы почти закончили! Напомним, что вы написали весь код Redux, чтобы Redux мог контролировать управление вашим приложением React messages. Теперь, когда Redux подключен, вам нужно извлечь управление состоянием из компонента Presentational
и в Redux. В настоящее время вы подключены к Redux, но вы управляете состоянием локально в составе Presentational
компонента.
В компоненте Presentational
сначала удалите свойство messages
в локальном state
. Эти сообщения будут управляться Redux. Затем измените метод submitMessage()
так, чтобы он отправил submitNewMessage()
из this.props
и передал текущее сообщение из локального state
в качестве аргумента. Поскольку вы удалили messages
из локального состояния, удалите свойство messages
из вызова this.setState()
здесь. Наконец, измените метод render()
чтобы он отображал сообщения, полученные из props
а не state
. После внесения этих изменений приложение будет продолжать функционировать одинаково, за исключением того, что Redux управляет состоянием. В этом примере также показано, как компонент может иметь локальное state
: ваш компонент по-прежнему отслеживает ввод пользователя локально в своем собственном state
. Вы можете видеть, как Redux предоставляет полезную структуру управления государственными ресурсами поверх React. Вы достигли того же результата, используя сначала локальное состояние React, и это обычно возможно с помощью простых приложений. Однако, поскольку ваши приложения становятся все больше и сложнее, так же как и ваше управление состоянием, и это проблема, которую решает Redux.