Reac学习笔记_reactSPA学习
来源:互联网 发布:上海mac电磁阀官网 编辑:程序博客网 时间:2024/06/05 18:12
后台管理系统学习笔记
SearchBar 组件:
- 查询字段: fields={this.searchFields()}
- 点击查询: onSubmit={this.onSearch}
Table 组件:
- 操作事件 onCtrlClick={ this.tableAction }
- 是否分页 pagination={ true }
- 每页显示 pageSize={10}
- 表头 header={ this.tableHeader() }
- 数据 data={ songArray }
- 加载中 loading={ musicList.loading }
- 滚动 scroll={{y: 385 }}
- 操作
action={row => [{key: 'edit',name: '修改',color: 'blue',icon: 'edit',}, {key: 'delete',name: '删除',color: 'red',icon: 'delete'}]}
FormModal 弹窗组件:
- modalKey="Edit"
- 是否可见 visible={this.state.modalShowEdit}
- 标题 title="修改音乐"
- 编辑页面字段 fields={this.fieldsEdit()}
- 保存事件: onOk={this.onOkEdit}
- 取消事件:onCancel={this.onCancelEdit}
- 按钮名称:okText="保存"
请求ajax加载数据
页面发起请求:
import { fetchMusicList } from 'actions/music' componentDidMount() { fetchMusicList({ // 默认是热歌版 method: 'baidu.ting.billboard.billList', size: 100, type: 2, })(this.props.dispatch) }
music Action
- 设置 ajaxAPI 调用:
- 设置发送请求前的 action
- 设置请求成功后的Ation
import { createAction } from 'redux-actions'import { music } from 'api'import { createAjaxAction } from 'utils'export const requestMusicList = createAction('request music list')export const receiveMusicList = createAction('receive music list')export const fetchMusicList = createAjaxAction(music.musicList, requestMusicList, receiveMusicList)
utils
- 设置API、发送请求前的 action、请求成功后的Atio
- 请求数据、dispatch
import * as ajaxFun from './ajax'export const ajax = ajaxFunexport const createAjaxAction = (api, startAction, endAction) => (data, cb) => (dispatch) => { let respon dispatch(startAction(data)) return new Promise((resolve, reject) => { api(data) .then(checkStatus) .then(response => response.json()) .then(response => { respon = response dispatch(endAction({ req: data, res: response })) }) .then(() => { if (respon.status === 1) { cb && cb(respon) } }) .catch(catchError) }) }function catchError(error) { console.log(error)}function checkStatus(response) { if ((response.status >= 100 && response.status < 300) || response.status === 500 || response.json) { return response } const error = new Error(response.statusText) error.response = response throw error}
ajax.js 请求
import fetchJsonp from 'fetch-jsonp'export function fetchJSON(url, params) { params = { ...params, } return fetchJsonp(url, params)}export const fetchJSONByGet = url => query => { const params = { method: 'GET', } let getQuery = '?' let getUrl = '' if (query) { for(let name in query) { getQuery = `${getQuery}${name}=${query[name]}&` } } getUrl = url + (query ? getQuery.substring(0, getQuery.length - 1) : '') return fetchJSON(getUrl, params)}
阅读全文
0 0
- Reac学习笔记_reactSPA学习
- reac native 项目学习——GD
- 走进Reac
- 走进Reac
- 走进Reac
- 《机器学习》学习笔记
- 《学习OpenCV》 学习笔记
- 【学习笔记】 html学习
- 深度学习学习笔记
- 学习笔记 - Runtime学习
- React学习学习笔记
- 深度学习学习笔记
- 学习笔记-增强学习
- 集成学习-学习笔记
- 深度学习学习笔记
- 机器学习----学习笔记
- 深度学习学习笔记
- 机器学习学习笔记
- OpenCV单kinect多帧静止场景的深度图像去噪
- IIS 应用程序与虚拟目录的异同
- DFS和BFS区别
- 在android style文件中使用自定义属性
- 测试运行object_detection出现问题汇总
- Reac学习笔记_reactSPA学习
- python模块学习(multiprocessing模块)
- Truncated incorrect DOUBLE value
- display:inline、block、inline-block的区别
- 打包target旧版本会报linker command failed with exit code 1 但最新版本就能导出
- Fibre Channel_光纤通道技术
- 爬虫学习碎碎念——beautifulsoup,信息提取
- 关于FreeBSD的fdisk和disklabel
- zookeeper滚动重启及不停机添加新服务器