> For the complete documentation index, see [llms.txt](https://redux-ru.js.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://redux-ru.js.org/api-reference.md).

# API Reference

The Redux API surface is tiny. Redux defines a set of contracts for you to implement (such as [reducers](/glossary.md#reducer)) and provides a few helper functions to tie these contracts together.

This section documents the complete Redux API. Keep in mind that Redux is only concerned with managing the state. In a real app, you'll also want to use UI bindings like [react-redux](https://github.com/gaearon/react-redux).

## Top-Level Exports

* [createStore(reducer, \[preloadedState\], \[enhancer\])](/api-reference/createstore.md)
* [combineReducers(reducers)](/api-reference/combinereducers.md)
* [applyMiddleware(...middlewares)](/api-reference/applymiddleware.md)
* [bindActionCreators(actionCreators, dispatch)](/api-reference/bindactioncreators.md)
* [compose(...functions)](/api-reference/compose.md)

## Store API

* [Store](/api-reference/store.md)
  * [getState()](/api-reference/store.md#getState)
  * [dispatch(action)](/api-reference/store.md#dispatch)
  * [subscribe(listener)](/api-reference/store.md#subscribe)
  * [replaceReducer(nextReducer)](/api-reference/store.md#replaceReducer)

## Importing

Every function described above is a top-level export. You can import any of them like this:

### ES6

```javascript
import { createStore } from 'redux'
```

### ES5 (CommonJS)

```javascript
var createStore = require('redux').createStore
```

### ES5 (UMD build)

```javascript
var createStore = Redux.createStore
```
