React相关

本文深入讲解React的基础使用、核心概念及执行原理,并介绍其生态系统中的关键组成部分如Redux、React-Router、Axios等。

目录

React
Redux + React-Redux
React-Router
Axios
LESS
webpack

React

  • React的使用

React的执行原理主要是生命周期函数的自执行与state的触发执行。

将React组件渲染到html标签中。其中ReactDOM来自react-dom。

<div id='root'></div>
<script>
ReactDOM.render(
    <ReactComponent/>,
    document.getElementById('root')
);
</script>

创建React组件。

export default class Test extends React.Component {
    //1 第一个周期函数 完成组件的实例化,并初始化state或prop
    constructor(props){
        super(props);
        this.state = {
            //default state
        },
        this.param = {
            //params等
        }
    },
    //2 在此函数内异步请求后端获取数据。首次可修改state
    componentWillMount(){
        ...
    },
    //3 虚拟DOM
    render(){
        return(
            <div>...</div>
        )
    },
    //4 真实DOM完成渲染后执行。可访问首次渲染的真实DOM的周期函数
    componentDidMount(){
        ...
    },
    //5 父组件的state发生变化导致子组件的props变化后触发
    componentWillReceiveProps(){
        ...
    },
    //6 判断props或state是否变化,返回true/false
    shouldComponentUpdate(nextProps, nextState){
        ...
    },
    //7 执行完下面的周期函数会立即触发render
    componentWillUpdate(){
    },
    //8 可访问更新后的真实DOM的周期函数
    componentDidUpdate(){
    },
    //9 组件移除即刷新或离开页面时触发。一般用来中断请求
    componentWillUnmount(){
    }

}

几个关键概念

  1. this.findDOMNode
    获取真实DOM元素。也可用原生方法获取。

  2. this.props
    一般是组件与组件间传递参数。可以是上个组件的state,也可是给该组件设定的属性。

  3. this.context
    实现跨级组件间传递参数。context相当于全局变量。避免组件污染,一般不用。

  4. this.refs
    render返回的元素的属性,可以利用它获取DOM元素

  5. key
    组件的唯一健值。当更改组件位置时,React根据此值做到只更新组件位置而不重新渲染。

  6. this.props.history.push

  7. React.render与ReactDOM.render
    react包含react-dom。故React.render与ReactDOM.render含义一样,都是将react组件渲染到html元素上。但现在常用ReactDOM.render。
    react包括:React.createElement, .createClass, .Component, .proptypes, .children等;
    react-dom包括:ReactDOM.render, .findDOMNode, .UnmountComponentAtNode等。

  8. React.Component与React.createClass
    都是用来创建组件的。
    React.Component是ES6中的方法。需手动绑定this。推荐使用。
    React.createClass是ES5方法。会自动绑定this。会逐渐被上面的方法替代。

Redux + React-Redux

Redux是对状态state管理的框架,通过createStore创建store来存放各个view对应的state,当Action发生时,Reducer计算得到新的state,比较state的变化,从来使view重新渲染。

React-Redux是在react中用的redux。

React-Router

路由,处理各组件跳转。映射一个地址,不同组件对应不同url。跳转不同url,在html的DOM元素中就渲染不同的组件。

Axios

可在浏览器和nodejs中使用的http请求库。
基于Promise;
Promise对象是ES6中处理异步操作的解决方案。可封装XMLHttpRequest进行http请求。

LESS
可嵌套书写css样式。在react中使用避免了css样式类重名。

webpack
模块打包工具。会将多个模块打包成一个或多个moudle。

react-hot-loader

react-hot-loader与webpack-dev-server同样都是热部署,不同处:
1、模块&&插件
2、能保存住state值使得只刷新页面的修改部分&&不能保存住state值导致每次修改都刷新整个页面

与React相关知识点书签:

webpack.config.js配置:https://doc.webpack-china.org/configuration/
webpack中plugins配置:https://doc.webpack-china.org/plugins/copy-webpack-plugin/
ECMAScript 6 入门:http://es6.ruanyifeng.com/?search=%3E&x=0&y=0#docs/spec
React官网:https://doc.react-china.org/
Redux + React Redux:http://www.ruanyifeng.com/blog/2016/09/redux_tutorial_part_one_basic_usages.html
React Router 使用教程:http://www.ruanyifeng.com/blog/2016/05/react_router.html
React 技术栈系列教程:http://www.ruanyifeng.com/blog/2016/09/react-technology-stack.html

react+redux项目实例:https://github.com/bailicangdu/react-pxq
react-router中的history:https://zhuanlan.zhihu.com/p/20799258?refer=jscss
React中的Context:http://blog.youkuaiyun.com/liwusen/article/details/53408906
JS的内建函数reduce:https://www.cnblogs.com/accordion/p/5230287.html
javascript之Object.assign()痛点:http://blog.youkuaiyun.com/waiterwaiter/article/details/50267787

基于遗传算法的新的异构分布式系统任务调度算法研究(Matlab代码实现)内容概要:本文档围绕基于遗传算法的异构分布式系统任务调度算法展开研究,重点介绍了一种结合遗传算法的新颖优化方法,并通过Matlab代码实现验证其在复杂调度问题中的有效性。文中还涵盖了多种智能优化算法在生产调度、经济调度、车间调度、无人机路径规划、微电网优化等领域的应用案例,展示了从理论建模到仿真实现的完整流程。此外,文档系统梳理了智能优化、机器学习、路径规划、电力系统管理等多个科研方向的技术体系与实际应用场景,强调“借力”工具与创新思维在科研中的重要性。; 适合人群:具备一定Matlab编程基础,从事智能优化、自动化、电力系统、控制工程等相关领域研究的研究生及科研人员,尤其适合正在开展调度优化、路径规划或算法改进类课题的研究者; 使用场景及目标:①学习遗传算法及其他智能优化算法(如粒子群、蜣螂优化、NSGA等)在任务调度中的设计与实现;②掌握Matlab/Simulink在科研仿真中的综合应用;③获取多领域(如微电网、无人机、车间调度)的算法复现与创新思路; 阅读建议:建议按目录顺序系统浏览,重点关注算法原理与代码实现的对应关系,结合提供的网盘资源下载完整代码进行调试与复现,同时注重从已有案例中提炼可迁移的科研方法与创新路径。
【微电网】【创新点】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究(Matlab代码实现)内容概要:本文提出了一种基于非支配排序的蜣螂优化算法(NSDBO),用于求解微电网多目标优化调度问题。该方法结合非支配排序机制,提升了传统蜣螂优化算法在处理多目标问题时的收敛性和分布性,有效解决了微电网调度中经济成本、碳排放、能源利用率等多个相互冲突目标的优化难题。研究构建了包含风、光、储能等多种分布式能源的微电网模型,并通过Matlab代码实现算法仿真,验证了NSDBO在寻找帕累托最优解集方面的优越性能,相较于其他多目标优化算法表现出更强的搜索能力和稳定性。; 适合人群:具备一定电力系统或优化算法基础,从事新能源、微电网、智能优化等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于微电网能量管理系统的多目标优化调度设计;②作为新型智能优化算法的研究与改进基础,用于解决复杂的多目标工程优化问题;③帮助理解非支配排序机制在进化算法中的集成方法及其在实际系统中的仿真实现。; 阅读建议:建议读者结合Matlab代码深入理解算法实现细节,重点关注非支配排序、拥挤度计算和蜣螂行为模拟的结合方式,并可通过替换目标函数或系统参数进行扩展实验,以掌握算法的适应性与调参技巧。
<think>嗯,用户想找React相关的技术网站或者资源教程。首先,我需要回忆一下常用的React学习资源。官方的React文档肯定是首选,因为官方资源通常最权威和全面。记得React官网有详细的教程和API参考,适合各个阶段的开发者。 接下来,Egghead.io之前被用户提到的引用里有提到,他们提供React的视频教程,可能有很多深入浅出的内容,特别是适合喜欢视频学习的用户。另外,用户还提到了一个百度云的React视频教程资源,可能包含从基础到高级的内容,比如组件开发、路由管理和Redux应用。不过百度云资源可能需要用户自己处理下载和网络问题。 然后,其他常见的平台比如FreeCodeCamp,他们提供免费的编程课程,可能有React的教程,适合喜欢互动式学习的用户。Scrimba也是一个不错的平台,他们的课程允许用户直接在视频中编写代码,实时互动,这对学习编程很有帮助。 还有Codecademy和Frontend Masters,这两个平台也有React的课程,不过有些可能是付费的,需要用户根据自己的预算选择。另外,React Training的课程由React Router的开发者创建,可能更专业,适合进阶学习。 社区资源方面,React的GitHub仓库和Stack Overflow是解决问题和获取最新动态的好地方。Medium和Dev.to上有很多技术博客,可以找到实战经验和最佳实践。 用户可能的需求是作为初学者想要从基础开始,或者已经有一定经验想深入学习。需要推荐不同层次和形式的资源,比如文档、视频教程、互动课程、实战项目等。还要注意资源的可访问性,比如百度云可能需要处理网络问题,而国外平台可能需要英文能力。 另外,用户可能没有明确说明是否需要免费资源,所以应该混合推荐免费和付费的,让用户自己选择。同时提醒注意事项,比如网络稳定性和社区支持。最后,生成相关问题,帮助用户进一步探索,比如如何选择学习资源,或者解决常见错误。</think>### React 技术网站与资源教程推荐 #### 1. **官方文档与核心资源** - **React 官方文档** 最权威的 React 学习资源,涵盖基础语法、Hooks、状态管理等内容,适合所有阶段的开发者[^1]。 > 官网链接:https://react.dev/ - **React GitHub 仓库** 可查看 React 源码、参与讨论或提交 Issue,适合进阶开发者研究底层实现[^1]。 ```markdown 仓库地址:https://github.com/facebook/react ``` #### 2. **视频教程平台** - **Egghead.io** 提供短小精悍的 React 实战教程,例如《The Beginner's Guide to React》适合快速入门[^1]。 - **Scrimba** 支持交互式代码编辑的 React 课程,如《Learn React for Free》可直接在浏览器中练习。 ```markdown 课程链接:https://scrimba.com/learn/learnreact ``` #### 3. **系统化课程** - **Frontend Masters** 包含深度课程如《Complete Intro to React》,涵盖现代 React 开发工具链(如 Vite、TypeScript)[^1]。 - **Codecademy** 适合零基础学习者的交互式课程,提供 React 基础到项目实战的完整路径。 #### 4. **中文资源** - **百度云 React 视频教程** 包含组件开发、路由管理(React-Router)、Redux 状态管理等模块,需通过百度云客户端下载[^2]。 > 注意:需确保网络稳定,并参考教程中的实战案例巩固知识。 - **技术社区(掘金、SegmentFault)** 可搜索 React 实战文章,例如《React 性能优化指南》等专题。 #### 5. **工具与生态** - **Create React App** 官方脚手架工具,快速初始化 React 项目: ```bash npx create-react-app my-app ``` - **React Router 文档** 学习路由管理:https://reactrouter.com/ --- ### §§ 相关问题 §§ 1. React 函数组件与类组件的区别是什么? 2. 如何用 React Hooks 优化状态管理? 3. React 项目中常见的性能问题及解决方法? 4. 如何选择 React 状态管理库(Redux vs. Context API)?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值