jsx

React JSX vs function call to present component

做~自己de王妃 提交于 2020-08-23 09:50:23
问题 const Component = ({ text }) => ( <div>{text}</div> ) const Example = () => ( <div> <Component text="123" /> {Component({ text: "123" })} </div> ) Is there any difference between the two methods of rendering? Which is preferred and why? 回答1: Yes, the second is faster because it's not mounted with React.createElement . See this great article by Philippe Lehoux that talks about the differences (mainly in performance) between both approaches. 来源: https://stackoverflow.com/questions/47288322

12.Vue技术栈开发实战-渲染函数和JSX快速掌握

◇◆丶佛笑我妖孽 提交于 2020-08-20 07:07:07
如果用渲染函数来创建视图模板。 JSX语法 补充讲解函数式组件和作用域插槽。 路由列表内线添加一个路由配置render-page 创建这个页面 页面现在是空的 我们在.main.js里面学习render函数的使用 render这里是一个回调函数, h是一个方法,我们使用这个方法,可以创建一个虚拟节点 上面是下面这种方式的简写形式 h这个方法里面有三个参数,第一个是必选参数,后面是可选参数。 参数1:就是你当前要渲染的组件,或者标签的字符串。 整个系统App作为根组件在这里渲染。 改成一个简单的div标签。 整个页面只有一个div 第二个参数是一个配置对象,它里面可以传入一些参数。作为一个div标签它应该可以传入像id这种的元素属性。 属性叫做attrs里面设置id。 还可以设置style样式 在div里面包含东西,它可以是一个字符串,也可以是一个数组。 下面设置div里面包含一个文字。 里面如果需要多个元素的话,那么参数3就必须是一个数组 第一个参数说到它可以是一个组件,可以是一个对象。我们使用我们之前封装的组件叫做count-to 在上面引入这个组件 参数1就用countTo 报错是因为我么有些属性没有传 endValue是必传的属性 如果想绑定一个事件,我们之前组件定义内有事件on-animation-end 我们在on里面定义事件, 想给这个组件最外层绑定一个click事件

【译】为 REST API 创建可复用的 React Query 组件

时光怂恿深爱的人放手 提交于 2020-08-20 06:52:38
原文地址: medium.com/@TimKolb/cr… 译文地址: github.com/xiao-T/note… 本文版权归原作者所有,翻译仅用于学习。 每次实现一个新的 UI 组件时,我都是先实现布局,然后,mock 数据用于 defaultProps ,并提供一个空的点击监听模拟用户交互。然后,用真实的数据替换掉 mock 的函数和 props。 为了实现那些需要从服务端获取数据数据的组件,我一次次的重复着相同的操作。使用和配置 HTTP headers,反序列化逻辑、处理成功或者失败的回调、loading 状态等等,这就导致了代码的重复。 通信逻辑让可 复用的组件 来处理,是不是更好呢? 💪 开始 React 应用中那些需要使用 API 的组件需要处理大量的问题。针对每个请求,你都需要处理 loading、错误和成功的状态。 把所有的功能整合到现有的组件中势必增加组件的复杂度,这并不符合 React 组件化思想。 计算机科学不再是新鲜事物,我们也发现了一些旧时代的规则和工具。其中之一就是:分离。 编写程序只做一件事情并做好 — Doug McIlroy 我们把 Unix 管道发明者的这个理念引入到 React 组件中,React 的组件代表着 Unix 系统中的程序。通过 props 控制组件的行为,实现万能的组件。JavaScript 中通用的类型就是函数 —

Template literals as string content in JSX

百般思念 提交于 2020-08-19 12:08:28
问题 I'm wondering whats the best practice for strings values mixed with variables inside JSX tags, I've listed the options I'm familiar with: render() { const {totalCount} = this.state; const totalCountStr = `Total count: ${totalCount}`; return ( <div> <h1>Total count: {totalCount}</h1> // 1 <h1>`Total count: ${totalCount}`</h1> // 2 <h1>{totalCountStr}</h1> // 3 </div> ); } What's the best practice or the use cases to use them differently? Thanks! 回答1: Template literals aren't supported by React

你不知道的React Hook

十年热恋 提交于 2020-08-18 04:42:59
前言 自 React16.8 正式发布React Hook之后,已经过去了5个版本(本博客于React 16.13.1版本时发布)。自己使用Hook已经有了一段时间,不得不说在最初使用Hook的时候也进入了很多误区。在这篇文章中,我会抛出并解答我遇到的一些问题,同时整理对Hook的心得理解。 1. Hook的执行流 在解释后续内容之前,首先我们要明确Hook的执行流。 我们在写 Hook Component 的时候,本质是 Function Component + Hook ,Hook只是提供了状态管理等能力。对 Function Component 来说,每一次渲染都会从上到下 将所有内容重新执行一次,如果有变量,就会创造新变量 。 来看一个简单的例子 // father.js import Child from './child' ; function Father ( ) { const [num, setNum] = useState( 0 ); function handleSetNum ( ) { setNum(num+ 1 ); } return ( < div > < div onClick = {handleSetNum} > num: {num} </ div > < Child num = {num} > </ Child > </ div > ); }