首页
学习
活动
专区
圈层
工具
发布

推荐10个不错的React开源项目

Kutt支持自定义域名,设置链接密码和描述,缩短URL的私人统计信息,查看、编辑、删除和管理链接,RESTful API等。...笔记会暂时保存在本地存储中,可以以 zip 格式下载 markdown 格式的所有笔记。该应用支持搜索笔记、多光标编辑、链接笔记、语法高亮、键盘快捷键、拖放操作、Markdown 预览等功能。...该应用使用最新的 React 特性,例如带有Hooks的函数组件。此外,该项目还使用了几个自定义的轻量级 UI 组件,包括模态框和日期选择器等。...项目链接:https://github.com/salihozdemir/stackoverflow-clone 10,spotify-clone-client Spotify是国外的一个正版流媒体音乐服务平台...spotify-clone-client是一个 Spotify Web 播放器的前端克隆项目,使用 React、react-router-dom、axios 等技术实现。

16.4K30

React Native之React速学教程(下)

class Animal { // 构造方法,实例化的时候将会被调用,如果不指定,那么会有一个不带参数的默认构造函数....5.ES6不再有自动绑定 在ES5中,React.createClass会把所有的方法都bind一遍,这样可以提交到任意的地方作为回调函数,而this不会变化。...()}> 心得: 因为无论是箭头函数还是bind()每次被执行都返回的是一个新的函数引用,所以,推荐大家在组件的构造函数中来绑定this。...{ super(props); this.state = {count: props.initialCount}; this.tick = this.tick.bind(this);//在构造函数中绑定...{ state = { loopsRemaining: this.props.maxLoops, } } 不过我们推荐更易理解的在构造函数中初始化(这样你还可以根据需要做一些计算

3.1K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    React 17 要来了,非常特别的一版

    里的onFocus仍然会冒泡(并且不打算改,认为这个特性很有用) DOM 事件复用池被废弃 之前出于性能考虑,为了复用 SyntheticEvent,维护了一个事件池,导致 React 事件只在传播过程中可用...; } 在后来的迭代中却没对forwardRef、memo加以检查,在 React 17 补上了。...return '\n' + prefix + name; } // 以及 describeNativeComponentFrame 用来构造 Class、函数式组件的“调用栈” // ...太长,不贴了...因为组件栈是直接从 JavaScript 原生错误栈生成的,所以能够点击跳回源码、在生产环境也能按 sourcemap 还原回来 P.S.重建组件栈的过程中会重新执行 render,以及 Class 组件的构造函数.../shared/ReactComponentStackFrame.js 部分暴露出来的私有 API 被删除 React 17 删除了一些私有 API,大多是当初暴露给React Native for Web

    1.8K20

    VSCode拓展推荐(前端开发)

    Chrome 调试Chrome Document This 注释文档生成 DotENV .env文件高亮 EditorConfig for VS Code EditorConfig插件 Emoji 在代码中输入...输入提示 JavaScript (ES6) code snippets ES6语法代码段 JavaScript Standard Style Standard风格 JS Refactor 代码重构工具,提取函数...Native Storybooks storybook预览插件,支持react React Playground 为编辑器提供一个react组件运行环境,方便调试 React Standard Style...文件图标拓展 vscode-database 操作数据库,支持mysql和postgres vscode-icons 文件图标,方便定位文件 vscode-random 随机字符串生成器 vscode-spotify...Snippets Vue Typescript代码段 VueHelper Vue2代码段(包括Vue2 api、vue-router2、vuex2) Wallaby.js 实时测试插件 三、主题 名称

    2.8K41

    大话 JavaScript(Speaking JavaScript):第六章到第十章

    使用分号的规则 在本节中,我们将讨论 JavaScript 中分号的使用。基本规则是: 通常,语句以分号终止。 例外是以块结束的语句。 JavaScript 中分号是可选的。...缺少分号会通过所谓的“自动分号插入”(ASI)添加(请参阅自动分号插入)。然而,该功能并不总是按预期工作,这就是为什么您应该始终包括分号的原因。...未初始化的变量,缺少的参数和缺少的属性都具有该非值。如果没有明确返回任何内容,函数会隐式返回它。 null表示“没有对象”。它用作一个非值,期望一个对象(作为参数,在对象链中的成员等)。...instanceof运算符确定一个对象是否是给定构造函数的实例。有关 JavaScript 中面向对象编程的更多信息,请参阅第十七章。...instanceof运算符: «value» instanceof «Constr» 确定value是由构造函数Constr还是子构造函数创建的。

    1.7K10

    ES6+ 开发 React 组件

    {   handleDoubleTap(e) { … }   render() { … } } 值得关注的是,我们去掉了两个括号和一个分号,每个方法声明我们省略了一个冒号,一个关键字和一个分号。...值得关注的是,我们不再定义 prop 默认值和使用 getter 函数初始化状态对象。...Arrow 函数 React.createClass 方法用来在你的组件实例方法中执行一些额外的绑定工作,为了确保 this 关键字会指向组件实例:  1 2 3 4 5 6 7 // Autobinding...handleOptionsButtonClick = (e) => {     this.setState({showOptionsModal: true});   } } ES6 的 arrow 函数体分享相同的词...    stateToSet[inputName + 'Value'] = e.target.value;     this.setState(stateToSet);   }, }); 现在,我们有能力构造通过一个运行时

    84480

    ES6 + Babel + React低版本浏览器采坑记录

    ,以避免经典原型链继承的缺点(多执行一遍父类的构造函数以及子类原型上冗余父类的实例属性) subClass.prototype = Object.create(superClass && superClass.prototype...结合下面的$0 // 为了子类能够继承父类的静态属性和方法 // 由于IE9,10会执行__proto__,因此下面的$0根本无法调用到父类构造函数,因此无法继承父类的实例属性 if (superClass...) { _classCallCheck(this, App); // 注意这里是直接调用了父类的构造函数 return _possibleConstructorReturn(this..., _React$component.call(this, props)); } return App; }(React.component); 缺少标识符 大家想必都知道IE8中,保留字是不允许被当做键值的...rExt: 'js', parser: [ fis.plugin('babel-imweb'), fis.plugin('es3ify') ] }) 缺少函数

    2K90

    ES6 + Babel + React低版本浏览器采坑记录

    ,以避免经典原型链继承的缺点(多执行一遍父类的构造函数以及子类原型上冗余父类的实例属性) subClass.prototype = Object.create(superClass && superClass.prototype...结合下面的$0 // 为了子类能够继承父类的静态属性和方法 // 由于IE9,10会执行__proto__,因此下面的$0根本无法调用到父类构造函数,因此无法继承父类的实例属性 if (superClass...) { _classCallCheck(this, App); // 注意这里是直接调用了父类的构造函数 return _possibleConstructorReturn(this..., _React$component.call(this, props)); } return App; }(React.component); 缺少标识符 大家想必都知道IE8中,保留字是不允许被当做键值的...rExt: 'js', parser: [ fis.plugin('babel-imweb'), fis.plugin('es3ify') ] }) 缺少函数

    1.5K20

    React + webpack 开发单页面应用简明中文文档教程(四)调整项目文件以及项目配置

    开发单页面应用简明中文文档教程(四)调整项目文件以及项目配置 React + webpack 开发单页面应用简明中文文档教程(五)配置 api 接口请求文件 React + webpack 开发单页面应用简明中文文档教程...(六)渲染一个列表,初识 jsx 文件 React + webpack 开发单页面应用简明中文文档教程(七)jsx 组件中调用组件、父组件给子组件传值 React + webpack 开发单页面应用简明中文文档教程...我们遵循 JavaScript Standard Style 风格编写代码,所以,我们是不写分号的。...react 基础配置 配置支持 @ 文件映射 src 目录 在 vue-cli 脚手架中,会配置 @ 符号映射到 src 目录,来避免我们使用 ../../../ 这样恶心的调用文件方式。...安装缺少组件 我们在路由文件中使用了 react-router-dom 这个包,我们需要安装一下 npm i react-router-dom 我们使用了 sass 所以需要安装 node-sass 和

    92640

    C++报错已解决:Error:expected ‘;‘ after expression

    一、报错场景: 1.1 场景一 变量声明未加分号:在C++中,声明一个变量后需要加分号。例如,正确的声明方式是int a;,而不是int a。...1.2 场景二 函数参数列表未加分号:在函数定义中,参数列表后面需要加分号。...1.3 场景三 条件语句缺少分号:在if、while、for等条件语句中,表达式后面需要加分号。例如,正确的写法是if (a > b) b = a;,而不是if (a > b) b = a。...1.4 场景四 返回语句缺少分号:在函数中,如果使用return语句返回一个值,需要加分号。例如,正确的写法是return a;,而不是return a。...a, int b); 总结 遇到"Error:expected ‘;’ after expression"错误时,请检查您的代码中是否有表达式后面缺少分号的情况,并使用适当的解决方法来修复它。

    67310

    花十分钟的时间武装你的代码库

    'no-invalid-regexp': 2, //禁止 RegExp 构造函数中存在无效的正则表达式字符串 'no-irregular-whitespace': 1, //禁止在字符串和注释之外不规则的空白...禁用使用未声明的变量,除非它们在 /*global */ 注释中被提到 'no-unused-vars': 1, //禁止出现未使用过的变量 'constructor-super': 2, //要求在构造函数中有...禁止类成员中出现重复的名称 'no-new-symbol': 2, //禁止 Symbol 和 new 操作符一起使用 'no-this-before-super': 2, //禁止在构造函数中.../ 限制JSX中单行上的props的最大数量 'react/jsx-no-duplicate-props': 2, //防止在JSX中重复的props 'react/jsx-no-undef.../generic-spacing': 0, //泛型对象的尖括号中类型前后的空格规范 'flowtype/space-after-type-colon': 0, //类型注解分号后的空格规范

    3K30

    干货 | 揭秘 Vue 3.0 最具潜力的 API

    后者也是现在函数式研究的一个方向,叫 codata。 react 路线:如何从普通的 value 中,通过函数管道,输出一个 view。...vue 路线:如何从一个特殊的(响应式的)值中,衍生出普通的值以及 view。 今天我们要揭示的,不是上面那个最重要的,而是最具潜力的、最能表征 Vue 路线的 API。...首先实现一个 combinaLatest([value$]) ,得到一个在 value$ 范畴内构造数组的方式,然后通过 [[key, value]] ,从处理数组的方式中,配合 fromEntries...现在我们除了 vue-like 的 reactivity api,还有 combine 函数了,可以去 combine react-element 了。...我们会将 jsx 的编译函数从 React.createElement,切换成我们自己构造的 createElement。 ?

    1.8K10

    前端项目 Warning 警告:别让“忽略”变成技术债,解锁排查思路

    缺少关键属性(如列表缺少 key 属性)。 PropTypes 类型不匹配。 可忽略的警告(临时/环境相关): 开发工具扩展触发的警告。 第三方库已知但无害的警告。...报错描述: Unhandled promise rejection: TypeError: Cannot read property 'data' of undefined 根本原因: Promise 链中缺少...获取数据,仅在组件挂载时更新状态 fetch('/api').then(res => { if (isMounted) setData(res.data); }); // 组件卸载时运行的清理函数...Hooks 的依赖项必须完整声明(错误级别) 'react-hooks/exhaustive-deps': 'error', // 当使用已废弃的 React API 时发出警告(警告级别...函数组件 * * 这是一个React函数组件,使用了React的useEffect Hook来执行副作用操作。

    57630

    一篇包含了react所有基本点的文章

    (Button, { label: "Save" }), mountNode ); createElement函数是React顶级API中函数。...定义一个扩展了React.Component基类的类(需要学习的另一个顶级的React API)。 该类定义一个唯一实例函数render(),该render函数返回虚拟DOM对象。...这允许我们完全跳过使用类构造函数调用。 当我们将handleClick函数指定为特殊的onClick,React属性的值时,我们没有调用它。 我们把handleClick函数引用传递给出去了。...那些props正是我们在上面的步骤2中传递的。 由于它都是JavaScript,所以构造方法将被调用(如果已经定义的话)。 这是我们要说的第一个:组件生命周期方法。...在render方法中,我们使用了正常读取语法对state两个属性的读取。 没有特殊的API。 现在,请注意,我们使用两种不同的方式更新了状态: 传递返回一个对象的函数。

    4.1K20
    领券