jsx

reactjs父子组件间的传值

匿名 (未验证) 提交于 2019-12-03 00:17:01
FatherComponent.jsx ChildComponent.jsx 父传子方法 props FatherComponent.jsx ChildComponent.jsx 带参数的方法: FatherComponent.jsx ChildComponent.jsx 父组件将自身传给子组件 props FatherComponent.jsx ChildComponent.jsx 父组件获取子组件的数据 refs FatherComponent.jsx ChildComponent.jsx 父组件获取子组件的方法 refs FatherComponent.jsx ChildComponent.jsx 带有参数的方法: FatherComponent.jsx ChildComponent.jsx 组件的defaultProps和propTypes defaultProps:用来初始化组件的props属性 ChildComponent.jsx 当父组件FatherComponent没有给子组件ChildComponent的props属性传递message参数值时,会使用default值 => message:’这里是默认信息’ 如果有传,则会覆盖掉default值。 ChildComponent.jsx 先导入react的依赖模块prop-types

深入浅出eslint――关于我学习eslint的心得

匿名 (未验证) 提交于 2019-12-03 00:15:02
本文转载于: Գ2048 https://www.mk2048.com/blog/blog.php?id=hh1h2c2cbb 很多人在引入eslint后,发现项目中出现了很多错误提示,看着让人的强迫症都犯了,于是就放弃了使用。可小编在这却还是要说在项目中要用到eslint,尤其是在项目一开始构建搭建的时候,就约定好,就不会再出现多人协助代码不统一,开发看着比较恶心,也减少在运行时才知道代码出现问题的情况,保证写出语法正确、风格统一的代码。最后舍弃一部分灵活性换取更高的稳定性和可维护性。 一、关于eslint ESLint属于一种QA工具,是一个ECMAScript/JavaScript语法规则和代码风格的检查工具,可以用来保证写出语法正确、风格统一的代码。 ESLint旨在完全可配置,它的目标是提供一个插件化的javascript代码检测工具。这意味着您可以关闭每个规则,只能使用基本语法验证,或者混合并匹配捆绑的规则和自定义规则,使ESLint完美的适用于您的项目。 【ESlint 中文官方网站】: http://eslint.cn/ 可以查看官网: https://eslint.org/ 二、为什么要用eslint呢? 多人参与的项目中,经常会多人交叉编辑多个文件。这就导致了各个文件中充斥着各种编码风格。最常见的就有

How to auto indent jsx in VSCode

烂漫一生 提交于 2019-12-03 00:11:54
VSCode seems doesn't auto indent HTML elements in jsx? Is there any way to fix it. Update : In Atom : When I input <div> , atom will show: After I press the return key, the result is(pay attention to the location of the cursor): While in VSCode : Try changing the language mode to JavaScript React. Open the commands palette. Type change language mode Press Enter Type javascript react Press Enter Once that's done, you'll see the JavaScript React mode in the bottom left corner. Once you're in that mode, try again to format the document. Change the language to Javascript React (see other answers

vue5

匿名 (未验证) 提交于 2019-12-02 23:55:01
虚拟DOM(vdom) vue利用VDOM的对象模型的模拟DOM结构 页面复杂 ,DOM结构的模拟就变得复杂因此 Vue使用了新的语法糖 ,叫做jsx(javascript+xml)也就是 虚拟DOM render方法 将jsx通过render方法解析为对象模型 流程 第一次 template模板使用jsx语法进行编辑 通过render函数将jsx解析为vdom对象模型 将VDOM对象模型渲染为真实的DOM ,然后挂载到页面中 当数据改变时 重新生成VDOM diff算法 真实DOM 对比 重新渲染的VDOM ,同级对比, 数据不一样的改变,一样的不变 操作数据 VDOM 比操作真实DOM速度快性能好 生命周期: 生命周期 创建到销毁的 一系列过程添 控制组件 三个阶段 8个钩子函数 钩子函数 不写成箭头函数 箭头函数改变this指向 初始化 createdbefore Mountmounted mounted 运行中 beforeUpdate updated 销毁 beforeDestroy destroyed 来源:51CTO 作者: weixin_45478895 链接:https://blog.csdn.net/weixin_45478895/article/details/100086792

React的JSX语言

匿名 (未验证) 提交于 2019-12-02 23:49:02
import React from 'react'; import logo from './logo.svg'; import './App.css'; function App() { return ( <div className="App"> <header className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <p> Edit <code>src/App.js</code> and save to reload. </p> <a className="App-link" href="https://reactjs.org" target="_blank" rel="noopener noreferrer" > Learn React </a> </header> </div> ); } export default App; 在这个文件中,render()方法可以像在HTML文件中书写HTML代码,这便是jsx语言。jsx语言并不是开发react所必须的,不使用jsx,可以使用React.createElement()来创建HTML节点,不过这个方法没有jsx语言简明易读,所以在开发中建议使用jsx语言。 使用JSX需要注意的是:class为JavaScript这门语言保留字

nextjs ―― jsx style 学习记录

匿名 (未验证) 提交于 2019-12-02 23:49:02
作用域 全局 <style global jsx>{` .hero { width: 100%; color: #333; } .title { margin: 0; width: 100%; padding-top: 80px; line-height: 1.15; font-size: 48px; } `}</style> host scope <div className="root"> <style jsx>{` .root { color: green; } `}</style> </div> one-off global(只针对某个 css 全局) import Select from 'react-select' export default () => ( <div> <Select optionClassName="react-select" /> <style jsx>{` /* "div" will be prefixed, but ".react-select" won't */ div :global(.react-select) { color: red } `}</style> </div> ) 动态 style ① 行内 sytle const Button = ({ padding, children }) => ( <button style={

react jsx事件获取event对象

匿名 (未验证) 提交于 2019-12-02 23:49:02
文章参考 下面我根据使用难易的顺序做了下面三个例子 一、使用bind函数获取event对象 react事件参数的传递通过绑定来实现,在传递时,绑定的this在前,参数在后,在定义函数时,事件对象e要放在最后 /** * 删除列表中选中的行 * @param index 数组的索引 * @param e Event对象,使用bind方式绑定函数,event对象作为最后一个参数注入 */ deleteCurrentItem(index, e){ // 删除数组中选中的索引数据 this.state.data.splice(index, 1); this.setState({ data : that.state.data }) } render(){ let that = this; // 顶部右侧按钮,实现页面切换 let typeInBtn = <Link to={ "/inWarehouse/inWarehouseInput" }>录入</Link> let listContent = this.state.data.map(function(obj, index, currentArray){ return ( <div key={obj} style={{"background": "#fff"}} onClick={that.deleteCurrentItem.bind

vue render &amp; JSX

匿名 (未验证) 提交于 2019-12-02 23:05:13
vue在绝大多数使用template是没问题的,但在某些场合下,使用render更适合。 一、render函数 1.createElement 参数 createElement 可接受三个参数 1){String | Object | Function},一个 HTML 标签字符串,组件选项对象,或者函数,必选参数 2){Object},一个包含模板相关属性的数据对象 , 可以在 template 中使用这些特性。可选参数 3){String | Array},子虚拟节点 (VNodes),由 `createElement()` 构建而成,也可以使用字符串来生成“文本虚拟节点”。可选参数 2.深入data对象 { // 和`v-bind:class`一样的 API // 接收一个字符串、对象或字符串和对象组成的数组 'class': { foo: true, bar: false }, // 和`v-bind:style`一样的 API // 接收一个字符串、对象或对象组成的数组 style: { color: 'red', fontSize: '14px' }, // 普通的 HTML 特性 attrs: { id: 'foo' }, // 组件 props props: { myProp: 'bar' }, // DOM 属性 domProps: { innerHTML:

Undefined is not an object evaluating this.state/this.props

夙愿已清 提交于 2019-12-02 22:07:46
问题 How do I bind a function outside of scope in React Native? I'm getting the errors: undefined is not an object evaluating this.state & undefined is not an object evaluating this.props I'm using the render method to evoke renderGPSDataFromServer() when the data has been loaded. The problem is, I'm trying to use _buttonPress() and calcRow() inside of renderGPSDataFromServer() , but I'm getting those errors. I've added constructor(props) { super(props); this._buttonPress = this._buttonPress.bind

React简明学习

匿名 (未验证) 提交于 2019-12-02 21:53:52
前面的话 JSX   JSX是Javascript的语法扩展(extension),可以让我们在Javascript中可以编写像HTML一样的代码。   JSX用来声明 React 当中的元素,JSX 中使用 JavaScript 表达式,JSX中的表达式要包含在大括号里 【模板字符串】   可以在JSX中使用模板字符串 {`Joined in ${time}`} 【属性】   可以使用引号来定义以字符串为值的属性: const element = <div tabIndex="0"></div>;   也可以使用大括号来定义以 JavaScript 表达式为值的属性: const element = <img src={user.avatarUrl} />;   下面这两个 JSX 表达式是等价的 <MyComponent message="hello world" /> <MyComponent message={'hello world'} /> 【默认为true】 true <MyTextBox autocomplete /> <MyTextBox autocomplete={true} /> 【扩展属性】   如果已经有了个 props 对象,并且想在 JSX 中传递它,可以使用 ... 作为扩展操作符来传递整个属性对象。下面两个组件是等效的: function App1