【前端知识】React基础巩固(四)

news/2024/11/30 18:35:29/

React基础巩固(四)

组件化

数据依赖

数据在哪里定义?

  • 参与数据流(参与界面更新的数据:当数据变更时,需要更新组件渲染内容)定义在当前对象的state中。通过在构造函数中this.state = {定义数据}。当数据发生变化时,通过调用this.setState来更新数据,并且通知React进行update操作。在进行update操作时,会重新调用render函数,并且使用最新的数据来渲染界面。
  • 不参与界面更新的数据:当数据变更时,不需要更新组件渲染内容。

事件绑定

事件绑定中的this指向谁?

  • 默认情况下是 undefined
  • 在正常DOM操作中,监听函数中的this其实是节点对象
  • 由于React并不是直接渲染成真实的DOM,我们所编写的button只是一个语法糖,其本质是React的Element对象
  • 故监听时,react在执行函数时并没有绑定this,默认情况下即为undefined
  • 所以在传入函数时,需要绑定this
  • 例如:修改文本
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><div id="root"></div><!-- 添加依赖 --><!-- 依赖三个包 --><!-- 1.CDN引入 --><scriptcrossoriginsrc="https://unpkg.com/react@18/umd/react.development.js"></script><scriptcrossoriginsrc="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script><script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script><script type="text/babel">// 使用组件进行重构代码// 1.类组件  2.函数式组件class App extends React.Component {// 组件数据constructor() {super();this.state = {message: "hello world",};//对需要绑定的方法,提前进行this绑定this.btnClick = this.btnClick.bind(this)}// 组件方法(实例方法)btnClick() {// setState内部完成:1.修改message的值 2.自动重新执行render函数this.setState({message: "hello react",});}// 渲染内容render() {return (<div><h2>{this.state.message}</h2><button onClick={this.btnClick.bind(this)}>修改文本</button><br/>在constructor中提前绑定this<button onClick={this.btnClick}>修改文本</button></div>);}}// this绑定的问题// const app = new App()// const foo = app.btnClick// foo(); // 默认绑定 => window => 严格模式下 => undefined// function bar(){//     console.log("bar:", this);// }// bar();// 将组件渲染到界面上const root = ReactDOM.createRoot(document.querySelector("#root"));root.render(<App />);</script></body>
</html>

http://www.ppmy.cn/news/440933.html

相关文章

怎样取消苹果手机x的静音设置_iPhoneX拍照总有声音怎么办?拨动静音键即可关闭拍照声!...

2018-4-8 15:07 我们知道&#xff0c;国行iPhoneX拍照默认是有声音的&#xff0c;完成拍照一瞬间会发出发发出咔的拍照音。不过&#xff0c;我们有时候在夜间或者安静环境下&#xff0c;想要静音拍照&#xff0c;那么该怎么做呢。下面小编详细介绍下iPhoneX相机声音关闭方法&am…

苹果怎么延迟三秒拍照 iphone手机如何开启拍照计时器

当我们外出游玩看到好看的景色时&#xff0c;都喜欢拿出自己的苹果手机进行拍照&#xff0c;但有时我们想延迟拍照该怎么设置呢&#xff1f;下面小编带来苹果手机延迟拍照设置方法 当我们外出游玩看到好看的景色时&#xff0c;都喜欢拿出自己的苹果手机进行拍照&#xff0c;但有…

怎样取消苹果手机x的静音设置_iPhoneX拍照声音怎么关?苹果iPhoneX相机声音关闭方法...

iPhoneX拍照声音怎么关&#xff1f;下面我们一起来学习下苹果iPhoneX相机声音关闭方法吧&#xff0c;操作其实很简单。 iPhoneX无论是在相机设置还是声音设置中&#xff0c;都没有相机关闭选项。如果要关闭相机声音也很简单&#xff0c;那就是开启静音。 在iPhoneX正面机身中上…

苹果手机该如何拍摄证件照

iPhone11已经开始预定了&#xff0c;不知道大家是否对它也是“真香”的态度呢&#xff1f;老实说&#xff0c;iPhone的像素一直都还是不错的&#xff0c;而且网上也有很多网友经常用iPhone拍出专业相机级别的照片&#xff0c;因此我们的iPhone其实拍证件照也不会差到哪里去&…

用苹果手机拍照,连这三个拍照功能你会吗?

很多小伙伴都不喜欢用苹果手机的原相机拍照&#xff0c;因为iPhone的原相机还原度太高了&#xff0c;连美颜都没有。虽然&#xff0c;苹果手机的原相机不适合自拍&#xff0c;但是拍风景、拍美食、拍创意照片&#xff0c;却有一套自己的方法。下面与大家分享3个关于苹果手机拍照…

拍照技巧

背影照 ①确定人物占比&#xff08;想突出什么内容&#xff0c;就提升它在画面的占比&#xff09; ②确定人物的景别&#xff08;全景、中景、近景、特写&#xff09; ③确定人物位置&#xff08;画面中央、左右侧1/3处角落、底部等&#xff09; ④确定光线角度&#xff08;顺…

怎么运用苹果手机拍出好的照片,这些技巧少不了

现在用苹果手机的人也有不少&#xff0c;那么大家平时拿起苹果手机会想干嘛呢?很多人想要做的就是拍照了。那么苹果怎样拍照好看?今天小编就来分享苹果几个好用的拍照技巧&#xff0c;利用好这些拍照技巧&#xff0c;大家不愁拍不出好照片啦~ 一、巧用拍照设置 1.夜景 其实&a…

iOS Camera照相机

iOS 5 取景器和实时滤镜的制作 1.使用UIImagePickerController捕捉媒体制作取景器 UIImagePickerController是一个UINavigationController的子类&#xff0c;他是UIKit的一部分&#xff0c;因此不需要添加额外的框架&#xff0c;使用很简单&#xff0c;但却功能强大。我们可以使…