React-wangyiyun-shop React仿网易云商城

云音乐商城是专注于音乐场景打造的音乐购物平台,包含音乐人周边、3c影音数码、音乐市集等,和我们一起让音乐购有趣,给生活加点料

使用插件

  Ant Design Mobile  // 蚂蚁金服React UI框架
  node-sass  // css预处理   yarn add node-sass
  React router  //路由
  axios  //  使用Promise管理异步的http库
  redux   // 状态管理模式   npm install redux
  JSON-server   // 启动API服务器
  iconfont

服务启动

  启动API: json-server --watch --port 3200 db.json

  开发环境: yarn start        npm run start
  打包环境: yarn build        npm run build

API

http://localhost:3200/user  // 用户数据
http://localhost:3200/welfareInfo  // 用户福利社 需要用户status = 1展示
http://localhost:3200/banners   // 首页banner
http://localhost:3200/hotProduct   // 热门推荐
http://localhost:3200/gettopics   // 首页分类
http://localhost:3200/categoryList  // 分类
http://localhost:3200/searchConfigKey  //搜索关键字
  

Project issue

React组件的写法
1、函数式
function Comp(props){
  return(...)
}

2、类
class Comp extends React.Component {
  render(){
    return ( ... )
  }
}

属性
<Comp name="" style={{...}} />  //单个属性直接传,多个属性用对象

状态
class Comp{
  state = {}
  componentDidMount(){
    this.setState({prop:val})  //直接设置值
    this.setState((state) =>({prop:val}))  // funtion设置
  }
}

条件和循环

{this.state.isLogin ? {userInfo.name} : 登录}  //三元表达式
{this.state.msg && <p>{this.state.msg}</p>}  // 如果前面不为空就输出
{this.state.list.map( u => <li>{u.name}</li>)}  //循环

事件
1、onChange = () => {} //注意this的指向
<input onChange = {this.onChange}>

<input onChange = {()=>this.onChange(val)}>

父组件向子组件传值

// 父组件
<ToggleButton hotProductData="Toggle me" />
// 子组件
constructor(props) {
  super(props)
  console.log(this.props.hotProductData)
}

本地存储 localStorage

localStorage.setItem('user', JSON.stringify(user));  // 存储值:将对象转换为Json字符串
var userJsonStr = localStorage.getItem('user');  // 取值时:把获取到的Json字符串转换回对象
localStorage.removeItem("job");  // removeItem删除key
localStorage.clear();  // clear清除所有的key/value

JSON.parse(localStorage.getItem('cart_history')) //解析字符串
localStorage.setItem('searchHistory', JSON.stringify(h_arr))   //变成字符串

react 用.map方法如何遍历指定的数据数量
students.slice(0, 10).map();

 

vs code代码片段

点选「首选项:配置用户代码片片段」; 点击界面最左侧竖栏(也即活动栏)最下方的齿轮按钮,在弹出来的菜单中点选「用户代码片段」;

自定义React常用的代码片段 body内容用\n换行 $ {1:name}来指定新建后的鼠标位置(1参数:第几个指针,2参数:指针选择的内容);

 "Print to rapp": {
    "prefix": "rapp",
    "body": [
      "import React from 'react'\n\nconst App = () => (\n  <div>$1\n  </div>\n)\n\nexport default App",
      "$2"
    ],
    "description": "新建react模板"
  },
  "Print to rappc": {
    "prefix": "rappc",
    "body": [
      "import React, { Component } from 'react';\n\nclass ${1:Name} extends Component{\n  state = {\n  }\n  componentDidMount(){\n  }\n  render(){\n    return (\n      <div>${2:Name}</div>\n    )\n  }\n}\n\nexport default ${3:Name}"
    ],
    "description": "新建react组件"
  }

 

原文链接:https://blog.csdn.net/maokelong95/java/article/details/54379046

 

图片展示

 

gitee地址:https://gitee.com/adengweb/react-wangyiyun-shop

posted @ 2020-12-21 16:17  蜗牛snail  阅读(157)  评论(0编辑  收藏  举报
蜗牛前端 蜗牛文学