Үйл явц нэмэх

Төлөв үүсгэх хичээлд App компонентийн бүх төлвүүдийг нэг дор state обьектод багцалсан. react -ийн төлвүүдтэй хэрхэн ажиллахыг харахын тулд App компонентод товч оруулаад түүн дээр дарахад h1 гарчигаар үзүүлэх текстийг солигдох ажиллагааг оруулъя. Үүний тулд App компонентийн кодод h1 гарчигийн доор

        <h1>
          {this.state.pageTitle}
        </h1>
        <button>Гарчиг өөрчлөх</button>
        <Car name={cars[0].name} year={cars[0].year} />

button тегээр Гарчиг өөрчлөх нэртэй товчийг нэмэн оруулаад хуудсаа харвал

Гарчиг өөрчлөх нэртэй товч нэмэгдэнэ. h1 гарчигаар үзүүлэх текстийг солихдоо нэмсэн товчдоо үйл явцын сонсогчийг тавиад түүгээр дамжуулан төлвийг өөрчлөх юм. javascript -д үйл явц нэмэхдээ onclick, onfocus гэх мэтээр үйл явдлын нэрээ өгөөд = тэмдгийн ард тухайн үйл явцын боловсруулагчийг өгдөг. Жишээ нь <button onclick="handlerFunc()">Гарчиг өөрчлөх</button>
Тэгвэл reactjavascript -ийн бүх боломж нээлттэй тул Jsx -д үйл явцыг javascript -тэй их төстэйгээр тавин өгдөг. Ердийн html -д үйл явцын нэрийг жижиг үсгээр бичдэг бол react -д үйл явцын нэрийг camelCase дүрмээр

<button onClick={}>Гарчиг өөрчлөх</button>

бичин өгдөг. onClick атрибутын утгаар юуг дамжуулах талаар ярилцая. Атрибутын утгаар onClick үйл явдал бий болоход биелэгдэх ёстой функцийн холбоосыг дамжуулна. Үйл явдал үүсэхэд ажиллах

  changeTitleHandler = () => {
    console.log("Товч дарагдсан")
  }

функцийг компонентод үүсгэн өгье. Компонентийн render функц хэвийг үүсгэхдээ бусад функцуудийг ашигладаг учраас голдуу кодийн сүүл хэсэгт бичдэг. Энэ нь react компонентийн кодод баримжаа авахад эвтэйхэн байдаг тул changeTitleHandler функцийг render функцийн дээр тодорхойлон өгөөрэй. Ямар нэгэн үйл явцын боловсруулагчдыг Handler нэрээр голдуу нэрлэдэг тул гарчигийг солих үйл явцын боловсруулагчийг changeTitleHandler гэж нэрлэсэн хэрэг. React компонентод аргуудыг

  changeTitleHandler() {
    console.log("Товч дарагдсан")
  }

  changeTitleHandler: function() {
    console.log("Товч дарагдсан")
  }

гэх мэтээр олон янзаар үүсгэж болох ч кодод бид ES6 -гийн сумаар тодорхойлогдох функцээр тодорхойлон өгсөн. Үйл явцын боловсруулагчийн кодоор одоохондоо Товч дарагдсан гэсэн мэдээллийг консолд харуулах операторийг өгье. Үйл явцын боловсруулагч функцийг үүсгэсэн болохоор түүнийг товчны onClick үйл явцын боловсруулагчаар

        <button onClick={this.changeTitleHandler}>Гарчиг өөрчлөх</button>

гэж өгдөг. Тухайн компонентийн бүх элементүүдийг агуулж байдаг this түлхүүр үгээр нэрлэгдэх обьектын changeTitleHandler талбарын утгыг onClick атрибутын утгаар өгнө. changeTitleHandler талбарт функцийн холбоос хадгалагдаж байдаг. Хэрвээ changeTitleHandler() гэж өгвөл функцийг дуудах болохыг анхаарна уу. Ингээд манай App компонентийн код

class App extends Component {

  state = {
    cars: [
      { name: 'Toyata Prius', year: '2018' },
      { name: 'Toyata Camry', year: '2019' },
      { name: 'Ford', year: '2015' }
    ],
    pageTitle: 'App компонент'
  }

  changeTitleHandler = () => {
    console.log("Товч дарагдсан")
  }

  render() {
    const divStyle = {
      textAlign: 'center'
    }

    const cars = this.state.cars

    return (
      <div style={divStyle}>
        <h1>
          {this.state.pageTitle}
        </h1>
        <button onClick={this.changeTitleHandler}>Гарчиг өөрчлөх</button>
        <Car name={cars[0].name} year={cars[0].year} />
        <Car name={cars[1].name} year={cars[1].year} />
        <Car name={cars[2].name} year={cars[2].year} />
      </div>
    )
  }
}

болох бөгөөд өөрчлөлтийг хадгалаад хуудсаа нээгээд Гарчиг өөрчлөх товч дээр дарвал

ConsoleТовч дарагдсан мэдээллийг харуулна.
react сангийн албан ёсны сайтаас

Jsx -д ашиглаж болох бүх үйл явцуудын мэдээллийг хараж болно. Эндээс өөрийн сонирхож буй үйл явцын ангилалыг сонгон орвол ашиглаж болох бүх үйл явцын нэрүүд, шинж зэргийг харуулна. changeTitleHandler функцэд гарчигийг солих ажиллагааны логикийг дараагийн хичээлээс үзээрэй.

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 1190 Төлбөртэй

Өмнөх хичээлүүдэд бид хоёр хуудсыг үүсгээд тэдгээрт шилжих чиглүүлэгчийг (router) тохируулаад байгаа. Энэ удаад динамик чиглүүлэгчийг хэрхэн хэрэглэхийг авч үзье. Үүний тулд дараах тохиолдлыг авч үзье. Програмын Cars хуудаст машинуудын жагсаалтыг үзүүлэхээр болгон

<template>
  <div>
    <h1>Cars page</h1>
    <ul>
      <router-link
        tag="li"
        v-for="car in 5"
        :to="'/car/' +car"
        :key=car
      >
        <a>Car {{car}} </a>
      </router-link>
    </ul>
  </div>
</template>

гэж өөрчилье.

  Нээгдсэн тоо: 2197 Нийтийн

Хичээлээр ES6 -гийн кодыг ES5 кодоор компиляц хийх талаар авч үзье. Юуны түрүүнд үүнийг ямар учраас хийх хэрэгтэй вэ? гэдгийг тайлбарлая. ES бол EcmaScript -ийн хураангуйлсан бичлэг бөгөөд 6 нь Javascript -ийн хувилбарын дугаар. ES6 гараад удаагүй байгаа ч түүнийг олон хөтөчүүд дэмжин ажилладаг болоод байгаа. Жишээ нь Chrome хөтөч ES6 дээр бичигдсэн кодыг шууд ажиллуулна. Гэвч олон хэрэглэгчид ES6 -г шууд дэмждэггүй хуучин хөтөчүүдийг жишээ нь Internet Explorer, Firefox -ийн хуучин хувилбарыг хэрэглэсээр байгаа. Харин эдгээр хуучин хөтөчүүд ES5 -ийг бүрэн дэмжин ажилладаг тул програмыг бүх хэрэглэгчид ямар нэгэн асуудалгүйгээр ашиглах боломжийг бүрдүүлэх зорилгоор ES6 -гийн кодыг ES5 кодоор компиляц хийх хэрэгцээ бий.

  Нээгдсэн тоо: 1434 Бүртгүүлэх

Javascript хэлний үндсэн үүргийн нэг бол хэрэглэгч талын хуудаст динамик байдлыг үүсгэн програмтай харьцах ажиллагааг илүү уян хатан, хөнгөн, эвтэйхэн болгох юм. Html хуудас дээрх сонголтуудаас боломжит сонголтуудыг хийхдээ CheckBox элементийг ашигладаг бол сонголтуудаас боломжит нэгийг сонгохыг Радио товчоор хийдэг. Жишээ нь бүртгэлийн хуудаст хэрэглэгчийн хүйсийн сонголтыг хийх гэх мэт. Үүнийг VueJs -дээр checkbox -той төстэйгөөр хэрэгжүүлдэг тул CheckBox хичээлийн

<template>
  <div>
    <h2>Form inputs</h2>
    <label>
      <input type="radio"> instagram
    </label>
    <label>
      <input type="radio"> twitter
    </label>    
    <label>
      <input type="radio"> facebook
    </label>    

  </div>
</template>

<script>
export default {
  data () {
    return {
    }
  }
}
</script>

жишээний input тегийн төрлийг radio болгоод програмыг ажлуулан хуудасны ажиллагааг шалгавал

  Нээгдсэн тоо: 459 Бүртгүүлэх

Хичээлээр react -ийн хамгийн чухал бөгөөд хэрэгтэй хукуудийн нэг болох useCallback -ийн талаар авч үзье. Хукийн судалгааг дараах

import React, {useState} from 'react'

function App() {
  const [colored, setColored] = useState(false)
  const [count, setCount] = useState(1)
    
  const styles = {
      color: colored ? 'darkred' : 'black'
  }
    
  return (
      <div className="container">
        <h1 style={styles}>Элементийн тоо: {count}</h1>
        <button className={'btn btn-success mx-3'} onClick={() => setCount(prev => prev + 1)}>Нэмэх</button>
        <button className={'btn btn-warning mx-3'} onClick={() => setColored(prev => !prev)}>Өөрчлөх</button>
      </div>
  );
}

export default App;

кодоор авч үзье. Компонентийн код логикийн хувьд өмнөх хичээлүүдийнхтэй бараг ижил тул тайлбарлах нь илүүц гэж үзлээ.

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

Нээгдсэн тоо : 309

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

Нээгдсэн тоо : 406

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

Нээгдсэн тоо : 354

 

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

Нээгдсэн тоо : 450

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 524

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 520

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 624

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 714

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 753

 
Энэ долоо хоногт

задаргааны хамгийн их нэмэгдхүүн бол a, b, c -г ол.

Нээгдсэн тоо : 1550

 

тэгшитгэлийг бод.

Нээгдсэн тоо : 1207

 

функцийн уламжлалын утгыг ол.

Нээгдсэн тоо : 451