📜  npm redux - Javascript (1)

📅  最后修改于: 2023-12-03 15:18:01.169000             🧑  作者: Mango

使用npm安装和使用Redux - Javascript

Redux是一个Javascript库,可以帮助您更轻松地管理Javascript应用程序的状态。它提供了一个可预测的状态容器和一个方便的方式来处理状态更改。它是React社区中最受欢迎的状态管理库之一,被广泛应用于开发Web应用程序、移动应用程序和桌面应用程序。

安装

如果您想在项目中使用Redux,可以通过npm安装它。在终端或命令行中,输入以下命令:

npm install redux
创建Redux store

Redux store是应用程序状态的单一存储,其唯一的状态可以通过dispatching actions来更新。以下是创建Redux store的基本步骤:

import { createStore } from 'redux';

const initialState = {
  count: 0
};

function counterReducer(state = initialState, action) {
  switch (action.type) {
    case 'INCREMENT':
      return {
        count: state.count + 1
      };
    case 'DECREMENT':
      return {
        count: state.count - 1
      };
    default:
      return state;
  }
}

const store = createStore(counterReducer);

在上面的代码中,我们首先从Redux库中导入createStore函数。接下来,我们定义了一个初始状态对象,其中属性count的初始值为0。然后,我们定义了一个counterReducer函数,它接受两个参数:当前状态和一个action。这个reducer根据action的type属性的值来更新状态count。最后,我们通过调用createStore函数并传入reducer函数将其创建一个Redux store。

改变Redux store中的状态

要改变Redux store中的状态,您需要dispatch一个action。一个action是一个纯对象,它具有一个type属性,用于标识将对state执行的操作。以下是一个increment action示例:

const incrementAction = { type: 'INCREMENT' };

store.dispatch(incrementAction);

在上面的代码中,我们创建了一个incrementAction对象,并将其发送到Redux store中,以便将我们的count状态增加1。通过调用store.dispatch函数,我们可以将这个action分派给Redux store来更新应用程序状态。

在React应用程序中使用Redux

Redux被广泛用于React应用程序中,以便更好地管理组件之间的数据流和状态变化。以下是如何在React应用程序中使用Redux的基本步骤:

npm install react-redux
  1. 首先,您需要使用npm安装react-redux库。
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { createStore } from 'redux';
import App from './App';
import reducer from './reducers';

const store = createStore(reducer);

ReactDOM.render(
  <Provider store={store}>
    <App />
  </Provider>,
  document.getElementById('root')
);
  1. 接下来,您需要创建一个redux store,并将其与应用程序的根组件包装在一个Provider组件中。这样,我们的根组件及其所有子组件就可以访问store中的应用程序状态。
import React from 'react';
import { connect } from 'react-redux';
import { increment, decrement } from './actions';

function App({ count, increment, decrement }) {
  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={() => increment()}>Increment</button>
      <button onClick={() => decrement()}>Decrement</button>
    </div>
  );
}

const mapStateToProps = state => ({
  count: state.count
});

const mapDispatchToProps = {
  increment,
  decrement
};

export default connect(mapStateToProps, mapDispatchToProps)(App);
  1. 最后,我们需要连接我们的React组件到Redux store,以便访问我们的应用程序状态和dispatch actions。在上面的代码中,我们首先定义了一个App组件,它接受count、increment和decrement属性。我们使用了connect函数,将App组件连接到store,并提供了一个mapStateToProps函数和一个mapDispatchToProps对象。
  • mapDispatchToProps用于将increment和decrement action creators映射到组件中的props,这样我们就可以在组件中调用它们来更新redux store。
  • mapStateToProps用于将redux store中的状态映射到组件中的props,这样我们就可以在组件中使用该状态各种方式,例如显示计数器的当前值。
结论

Redux是一个非常有用的Javascript库,可以帮助您更轻松地管理React应用程序的状态。通过安装npm包并在应用程序中创建Redux store,您可以轻松地处理应用程序中的状态变化。希望这个介绍可以帮助您深入了解Redux。