在react中使用intro.js的的一些经验
react逐渐热了起来,但是新的东西毕竟前辈的经验少一些,前段时间自己在react中用到intro.js时,得到的资料甚少,摸索后便将一些心得记录下来了~
1 intro.js的引入,这一点请看上一篇博文关于如何在react中引入文件
2 在需要的页面引入文件后, 可以给intro.js的出发点绑定函数
showIntrojs(){
introJs().start();
}
这样intro.js就可以在页面发挥作用了~
3 intro.js只会对整个组件起作用,并且要在组件外面添加一层父元素(div等),然后在div中添加相应的属性,切记不要在组件中直接写intro.js的属性,一些标准通用的属性在react中用驼峰形式的属性写代码在编译时会自动转换成一般的(aB转换为a-b),但是像intro.js他的一些属性是自己封装的,不具有普遍性的,像data-step,data-intro这些属性使用驼峰形式的话不会正确编译。因此我们要在外面再加一层div,按照一般写法输入属性。比如下面的例子:
<div style={{height, overflow: 'scroll'}} data-step="1" data-intro="请输入或者点击相应schema进行查找" id="element1" data-position="right" showStepNumbers="false">
<SideBar
schemas={this.state.schemas}
selectedFields={this.state.selectedFields}
selectedSchemas={this.state.selectedSchemas}
onFilterChange=""
onSelectFieldsChange={s => this.setState({selectedFields: s})}
onSelectSchema={v => {
let selectedSchemas = this.state.selectedSchemas.concat([v]);
this.setState({ selectedSchemas });
this.handleSelectedSchemaChange(selectedSchemas);
}}
onDeselectSchame={ v => {
let schemas = this.state.selectedSchemas;
schemas.splice(schemas.indexOf(v), 1);
this.setState({selectedSchemas: schemas});
this.handleSelectedSchemaChange(schemas);
}}
/>
</div>
4 比较坑的一点是如果你想先只写一个step,调试一下效果。那么就会发现永远也改不好了~他的step要求是<=2。
5 有个小技巧是如果想要在一个地方放多个step,那么久多套几个div好了~
在react中使用intro.js的的一些经验的更多相关文章
- React中jsx调用js例子
需求: 界面新增一个“导入项目”按钮,点击该按钮可以执行项目导入功能.按钮点击事件部分是jsx语法代码,而项目导入部分是封装的js语法代码,假设此处用alert("123")代替. ...
- 在react中使用vis.js
import React from 'react'; import {message} from 'antd' import vis from 'vis'; import {api as http ...
- Intro.js的简介和用法
Intro.js 是用于向首页使用网站或者移动应用添加漂亮的分布指南效果,引导用户的js框架.支持使用键盘的前后方向键导航,使用 Enter 和 ESC 键推出指南.Intro.js 是 GitHub ...
- 网站功能操作分布引导插件:Intro.js介绍;React里如何使用Intro.js以及如何进行分页导航
插件作用:使用向导,引导新用户正确使用Web网站.我的环境是React+Mobx. 基本使用介绍,参加代码地址里的README.md:https://github.com/usablica/intro ...
- Three.js 快速上手以及在 React 中运用[转]
https://juejin.im/post/5ca22692f265da30a53d6656 github 的地址 欢迎 star! 之前项目中用到了 3D 模型演示的问题,整理了一下之前学习总结以 ...
- 在 React Native 中使用 moment.js 無法載入語系檔案
moment.js 是很常見的日期時間 library,友善的 API 與極佳的執行效率是它的兩大賣點.例如 (new Date()).getFullYear(),如果使用 moment.js 我可以 ...
- Intro.js 网站演示
Intro.js 为您的网站和项目提供一步一步的.更好的介绍 使用简单 引入 js 和 css,然后在代码中加入步骤和介绍. 快速小巧 7 KB 的 JavaScript 和 3 KB CSS,就是全 ...
- 网站引导页插件intro.js 的用法
intro.js是一个用于制作网页引导效果的js插件,用法很简单,intro.js.v2.0.rar 1.在需要的页面添加引用 intro.js introjs.css 这两个文件已经足够,但是文件夹 ...
- Immutable 详解及 React 中实践
本文转自:https://github.com/camsong/blog/issues/3 Shared mutable state is the root of all evil(共享的可变状态是万 ...
随机推荐
- MVC实现更新数据库的数据
经过一系列MVC的练习,如数据库的数据显示,添加,删除等,还差一个功能,就是更新,那本次练习的是MVC对数据库的数据进行更新. 写好更新的存过程: 有了存储过程,可以写实体(Entity)的方法了.写 ...
- 南方IT教材反馈
为了进一步提升教材质量,大家可以在底部留言区反馈您发现的任何问题或建议,谢谢! 最终我们将从所有读者中找出幸运读者发放奖品! 好教材也有我的一份功劳!
- 找xpath好用的工具(Firefox插件)
WebDriver Element Locator 安装 打开firefox浏览器,进入网址https://addons.mozilla.org/en-US/firefox/ 在搜索框里输入WebDr ...
- js实现iview表格 排名列
(有误,请勿观看) 一.排名的简单实现 //排名例子1 //需要排名的数组 //var myArray = [5,7, 7, 9, 8, 6, 23]; //新数组 //var thisArray = ...
- QYH练字
汉字书写笔划,提取自百度汉语等网站... 以下凑字数: [发文说明]博客园是面向开发者的知识分享社区,不允许发布任何推广.广告.政治方面的内容.博客园首页(即网站首页)只能发布原创的.高质量的.能让读 ...
- CSS学习笔记01 CSS简介
1.CSS定义 CSS 指层叠样式表 (Cascading Style Sheets),是一种样式表语言,用来描述 HTML 或 XML(包括如 SVG.XHTML 之类的 XML 分支语言)文档的呈 ...
- 乐字节-Java8新特性-接口默认方法之Stream流(下)
接上一篇:<Java8新特性之stream>,下面继续接着讲Stream 5.流的中间操作 常见的流的中间操作,归为以下三大类:筛选和切片流操作.元素映射操作.元素排序操作: 操作 描述 ...
- 逆向工程生成的mybatis中mapper文件。mapper接口,实例化成对象
逆向工程生成的mybatis中mapper文件中,*mapper文件只是接口,而不是类文件.但是却可以通过spring的容器获得实例. 例如: //1.获得mapper代理对象,从spring容器获得 ...
- 积分之迷-2015决赛C语言B组第一题
标题:积分之迷 小明开了个网上商店,卖风铃.共有3个品牌:A,B,C. 为了促销,每件商品都会返固定的积分. 小明开业第一天收到了三笔订单: 第一笔:3个A + 7个B + 1个C,共返积分:315 ...
- JS 词法作用域 p2
关于js 还是写的简短些,利于个人理解: 先看一个例子: var a = 2; function fn(){ var a = 3; console.log(a); } fn(a); 说明:作用域查找会 ...