IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> React-redux的使用 -> 正文阅读

[JavaScript知识库]React-redux的使用

第一步:先下载redux的中间件

npm i react-redux react -D

第二步:在公共目录src下的index.js中进行路由与redux进行连接

import {HashRouter as Router} from 'react-router-dom';
import reportWebVitals from './reportWebVitals';
import App from './App';
//引入插件
import {Provider} from "react-redux"
import store from "./store"
 
 
ReactDOM.render(
  <Provider store={store}>
  <Router>
    <App />
  </Router>
  </Provider>,
  document.getElementById('root')
);
 
reportWebVitals();

第三步:在App.js中配置

import "./App.css";
import React, { Component } from "react";
import { renderRoutes } from "react-router-config";
import routes from "./routes";
import { Link } from "react-router-dom";
import "lib-flexible";
import {connect} from "react-redux"
 
class App extends Component {
  constructor(...args) {
    super(...args);
  }
  render() {
    return (
      <div className="home">
        <div>
          <Link className='item' to='/'>首页</Link>
        </div>
        <div>{renderRoutes(routes)}</div>
      </div>
    );
  }
}
 
//进行连接
export default connect((props,state)=>Object.assign({},props,state),{})(App);

第四步:创建components文件件,在文件夹里常见一个index.js (路由中记得配置路由)

import {connect} from 'react-redux';
import {setName,setAge} from "../store/action";
import {Component} from 'react'
 
class pages extends Component{
  FnName(){
     const name= this.refs.name.value;
     this.props.setName(name);
     console.log(name);
    }
    fnSetAge(){
      this.props.setAge(2);
    }
 
    render(){
      return (<div>
          当前年龄:{this.props.age}<br/>
        <button onClick={this.fnSetAge.bind(this)}>点击</button><br/>
    
        当前姓名:{this.props.name}<br/>
        <input ref="name" type="text"/>
        <button onClick={this.FnName.bind(this)}>点击</button><br/>
    
      </div>)
    }
}
 
export default connect((props,state)=>Object.assign({},props,state),{
  setAge,setName
})(pages)

第五步:创建一个store文件夹,文件夹中创建action.js

export const SET_AGE='set_age';
export const SET_NAME='set_name';
 
export const setAge=function(n){
  return {
    type:SET_AGE,
    n:n
  }
  
}
export const setName=function(name){
  return {
    type:SET_NAME,
    name:name
  }
}

第六步:在store文件夹中在创建一个index.js

import { createStore } from "redux";
import { SET_AGE,SET_NAME} from "./action";
 
function user(state = { name: "blue", age: 18 }, action) {
  switch (action.type) {
    case SET_AGE:
      return {
        ...state,
        age: state.age + action.n,
      };
      case SET_NAME:
      return {
        ...state,
        name: action.name,
      };
 
    default:
      return state;
  }
}
 
export default createStore(user);
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-03 11:48:44  更:2021-09-03 11:49:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:21:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码