Во-первых, давайте посмотрим, как создать хранилище Redux и передать его вашим компонентам React:

import { createStore } from 'redux';
import { Provider } from 'react-redux';

const store = createStore(rootReducer);

ReactDOM.render(
  <Provider store={store}>
    <App />
  </Provider>,
  document.getElementById('root')
);

В этом коде мы используем метод createStore из Redux для создания нового хранилища, а затем используем компонент Provider из React-Redux для передачи хранилища нашим компонентам React. Это позволяет нашим компонентам получать доступ к хранилищу и отправлять действия для обновления состояния.

Далее давайте посмотрим, как отправить действие для обновления состояния в Redux:

import { connect } from 'react-redux';

class MyComponent extends React.Component {
  handleClick = () => {
    this.props.dispatch({
      type: 'ADD_ITEM',
      payload: 'my item'
    });
  };

  render() {
    return (
      <button onClick={this.handleClick}>Add Item</button>
    );
  }
}
export default connect()(MyComponent);

В этом коде мы используем функцию connect из React-Redux для подключения нашего компонента React к хранилищу Redux. Это позволяет нам получить доступ к функции dispatch в качестве реквизита в нашем компоненте. Затем мы используем эту функцию для отправки действия с типом ADD_ITEM и полезной нагрузки, содержащей элемент, который мы хотим добавить.

Наконец, давайте посмотрим, как обрабатывать это действие в редюсере Redux:

const initialState = {
  items: []
};

function rootReducer(state = initialState, action) {
  switch (action.type) {
    case 'ADD_ITEM':
      return {
        ...state,
        items: [...state.items, action.payload]
      };
    default:
      return state;
  }
}
export default rootReducer;

В этом коде мы определяем функцию rootReducer, которая принимает текущее состояние и действие в качестве аргументов. Затем мы используем оператор switch для обработки различных типов действий. В данном случае нас интересует действие ADD_ITEM, которое мы используем для добавления элемента из полезной нагрузки в массив items в состоянии.

Эти примеры демонстрируют некоторые основные принципы использования Redux в приложении React. Конечно, о Redux и о том, как его эффективно использовать, можно узнать гораздо больше, но эти примеры должны стать хорошей отправной точкой.