React学习-context、mobx

文章介绍了如何在React应用中使用mobx进行状态管理,包括组件间通过Consumer传递数据和使用装饰器注入store。同时也提及了一位作者分享的针对Java开发者的学习资料,包含了全面且适合不同阶段的学习内容。
摘要由CSDN通过智能技术生成

)

}

}

以后只要使用这个标签即可

那消费者如何用呢?

我们嵌套多层的组件

export default class App extends Component{

render(){

return (

)

}

}

class Demo1 extends Component{

render(){

return(

)

}

}

class Demo2 extends Component{

render(){

return(

{(val)=>

{val.msg}

}

)

}

}

同样的使用Consumer标签,在标签中即可直接获取到,就像下面这样

{(val)=>

{val.msg}

}
mobx
  • 下载安装mobx

npm i mobx mobx-react

npm i @babel/plugin-proposal-decorators

npm i @babel/plugin-proposal-class-properties

  • 配置package.json

“eslintConfig”: {

“parseOptions”:{

“ecmaFeatures”:{

“legacyDecorators”:true

}

},

“extends”: “react-app”

},

“babel”: {

“plugins”:[

[“@babel/plugin-proposal-decorators”,{“legacy”:true}],

[“@babel/plugin-proposal-class-properties”,{“loose”:true}]

],

“presets”: [

“react-app”

]

}

定义属性

  • 我们可以创建一个store文件夹,在里面新建一个index.js文件,内容如下

import {observable} from ‘mobx’

class AppStore {

@observable n=0;

}

const store = new AppStore();

export default store;

先创建两个简单的组件,并引入相应的包

App.js

import React,{Component} from ‘react’

import store from ‘./store’

import {Provider} from ‘mobx-react’

import Child from ‘./Child’

export default class App extends Component{

render(){

return (

)

}

}

Child.js

import React from ‘react’

export default class Child extends React.Component{

render(){

return(

我是Child组件

)

}

}

先实现出页面把值显示出来
接下来使用装饰器把属性注入进去

import {inject} from ‘mobx-react’

@inject(‘store’) @observable

observable用于解释注入的这个store的使用方法

如何使用呢?

只需要简单定义即可

export default class Child extends React.Component{

render(){

let {store} = this.props

return(

我是Child组件

{store.n}

)

}

}

最后页面上就可以取到store中的值了

在这里插入图片描述

修改

mobx修改使用action来标注

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
1714944327112)]

[外链图片转存中…(img-JwwYuaKn-1714944327112)]

[外链图片转存中…(img-AXAXF3WY-1714944327112)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值