Input талбарын боловсруулалт

Програмийн кодчлолийг тусгайлан заалгаж сурдаг зүйл биш. Ямарч зүйлийг өөрөө бие даан сурах боломжтой. Энэ талаар Бие даан сурах нийтлэлийг үзээд эрэгцүүлэн бодоорой. Энэ удаад Input талбарын боловсруулалтын талаар судлая.

Өмнөх хичээлүүдэд хуудасны элементүүдэд үйл явцын сонсогчийг тавин, түүнд параметр дамжуулан хүлээн авах аргуудыг сурсан. Энэ хичээлээр Input талбарт үүссэн үйл явцыг хэрхэн боловсруулахыг судлая. Үүний тулд App компонентийн h1 гарчигийн доор input талбарыг

      <div style={divStyle}>
        <h1>
          {this.state.pageTitle}
        </h1>
        <input type="text"/>
        <button onClick={this.changeTitleHandler.bind(this, 'App өөрчлөлт')}>Гарчиг өөрчлөх</button>

оруулан өгөөд хөтөч дээрх хуудсаа харвал

хуудаст мэдээлэл оруулах талбар гарч ирнэ. input талбарт боломжит үйл явцуудыг нэмэх боломжтой. input талбарын өөрчлөлтийн сонсогчийг Jsx -ийн onChange атрибутаар тавин өгдөг. Үүнийг хэрэгжүүлэлт Үйл явц нэмэх хичээлийн Гарчиг өөрчлөх товчинд үйл явцын сонсогч тавьсантай ижил. Кодийг харвал

  ChangeHandle = () => {
    console.log('Input өөрчлөгдсөн')
  }

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

    const cars = this.state.cars

    return (
      <div style={divStyle}>
        <h1>
          {this.state.pageTitle}
        </h1>

        <input type="text" onChange={this.ChangeHandle}/>

        <button onClick={this.changeTitleHandler.bind(this, 'App өөрчлөлт')}>Гарчиг өөрчлөх</button>

гэж харагдана. App компонентийн кодийн хэсгийг үзүүлж байгааг анхаарна уу. Эхлээд onChange үйл явцын боловсруулагч ChangeHandle функцийг үүсгээд input талбарын onChange атрибутад ChangeHandle функцийн холбоосыг өгсөн байгаа. Өөрчлөлтийг хадгалаад хуудас дээрх input талбарт ямар нэгэн зүйлийг оруулбал

өөрчлөлт орох бүрд консолд Input өөрчлөгдсөн текстийг үзүүлэх болно. input талбарт оруулсан утгаар h1 гарчигаар үзүүлж буй текстийг сольё гэвэл ChangeHandle функцээс input талбарын утгыг авах хэрэгтэй болно. Үүнийг react -ээс үйл явцын боловсруулагчид автоматаар дамжуулдаг event обьектоос авах боломжтой. event бол javascript -ийн үндсэн обьект. Тэгвэл ChangeHandle функцийн кодийг

  ChangeHandle = (event) => {
    console.log('Event', event)
  }

гэж өөрчлөөд хөтөчийн консолд үзүүлэх event -ийг харвал

түүний target обьектын value талбарт input талбарын утга хадгалагдаж байгаа нь харагдана. Иймээс ChangeHandle функцэд setState аргаар дамжуулан h1 гарчигийн текстийг

  ChangeHandle = (event) => {
    this.setState({
      pageTitle: event.target.value
    })
  }

гэж солих боломжтой. Өөрчлөлтийг хадгалаад хуудсаа нээгээд input талбарт утга оруулбал

h1 гарчигийн текст input талбарт утга өөрчлөгдөх бүрд автоматаар солигдоно. Үүний зэрэгцээ App компонентийн Гарчиг өөрчлөх , Car компонентийн Дарах товчнууд ч хэвийн ажиллахыг шалган үзээрэй.

Зөвлөмж: Хичээл бүрд өмнөх хичээлүүдийн кодийг бүгдийг оруулан ирэх нь хичээлийн материалыг их болгох, давталтыг ихээр үүсгэх муу талтай. Иймээс React JS сан хичээлийн багцыг бүхэлд нь судлахыг зөвлөе.

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

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

ES6 -д өгөгдлүүдийг олонлог байдлаар хадгалан тэдгээртэй ажиллах Set , WeakSet обьектууд бий болсон. Хичээлээр энэхүү шинэчлэлүүдийн тухай үзье.

Set обьект

Set өөртөө төрөл бүрийн утгуудыг агуулан тэдгээртэй ажиллагааг хөнгөн болгох массив төрлийн тусгай бүтэц буюу обьект юм. Гэхдээ Set -д зөвхөн давтагдахгүй утгуудыг хадгалж болдог. Ингээд Set гэж юу болох түүнтэй хэрхэн ажиллахыг дараах

let set = new Set();
set.add(10);
set.add('Hello');
set.add({});

console.log(set);
console.log(set.size);

энгийн жишээгээр харцгаая.

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

React компонентод тулгуурладаг сан тул компонент гэж юу болохыг ойлгоцгооё. Үүний тулд машиний мэдээллийг үзүүлэх

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8" />
  <title>Lesson 01_02</title>
  <style>
    .car {
      display: inline-block;
      border: 2px solid #ccc;
      box-shadow: 2px 2px 1px #eee;
      padding: 10px;
      margin-right: 10px;
    }
  </style>
</head>

<body>
  <div class="car">
    <h3>Toyata Camry</h3>
    <p>Year: <strong>2019</strong></p>
  </div>
</body>
</html>

код бүхий html файлыг үүсгээд хөтөч дээр нээвэл

гэж харагдана.

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

react 16 хувилбараас бий болсон програмийн компонентуудийн шатлалыг багахан хураангуйлах боломжийн талаар авч үзье. Тухайлбал компонент хооронд ашиглаж боломжтой глобал төлвүүдийг үүсгэдэг context гэсэн ухагдхуун юм. Үүнийг дараах энгийн жишээгээр харцгаая. Төсөлд

import React from "react";

const Counter2 = (props) => {
  return (
    <div
      style={{
        border: "1px solid #ccc",
        width: 250,
        margin: "0 auto",
      }}
    >
      <h3>Counter 2</h3>
      <p>Clicked</p>
    </div>
  );
};

export default Counter2;

код бүхий Counter2 шинэ компонентийг нэмье.

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

Төслийн App компонентийн кодыг харвал

class App extends Component {

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

  changeTitleHandler = (newTitle) => {
    this.setState({
      pageTitle: newTitle
    })
  }

  ChangeHandle = (event) => {
    this.setState({
      pageTitle: event.target.value
    })
  }

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

    const cars = this.state.cars

    return (
      <div style={divStyle}>
        <h1>
          {this.state.pageTitle}
        </h1>

        <input type="text" onChange={this.ChangeHandle} />

        <button onClick={this.changeTitleHandler.bind(this, 'App өөрчлөлт')}>Гарчиг өөрчлөх</button>
        <Car
          name={cars[0].name}
          year={cars[0].year}
          onChangeTitle={this.changeTitleHandler.bind(this, cars[0].name)}
        />
        <Car
          name={cars[1].name}
          year={cars[1].year}
          onChangeTitle={() => this.changeTitleHandler(cars[1].name)}
        />
        <Car
          name={cars[2].name}
          year={cars[2].year}
          onChangeTitle={() => this.changeTitleHandler(cars[2].name)}
        />
      </div>
    )
  }
}

болсон байгаа.

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

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

 

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

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

 

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

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

 

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

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

 

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

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

 

Хуваах нь нэг тоо нөгөө тоонд хэдэн удаа агуулагдаж буй тодорхойлох арифметикийн үйлдэл.
Хуваалтыг нэг бус удаа…

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

 

Зуучлагч (Mediator) нь олон тооны обьектууд бие биетэйгээ холбоос үүсгэхгүйгээр харилцан ажиллах боломжийг хангах загварчлалын хэв юм. Ингэснээр…

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

 

Делегатууд хичээлд ухагдхууны талаар дэлгэрэнгүй үзсэн ч жишээнүүд делегатийн хүчийг бүрэн харуулж чадахааргүй байсан.…

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

 

react програмд олон хуудас үүсгэн удирдахын тулд react -ийн бүрэлдхүүнд ордоггүй ч түүнтэй нягт холбоотой ажилладаг нэмэлт пакетийг…

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

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

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

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

 

20 см, 12 см сууриудтай адил хажуут трапецийг багтаасан тойргийн төв их суурь дээр орших бол трапецийн диагонал болон хажуу талын уртын үржвэрийг ол.

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

 

Тэгш өнцөгт гурвалжинд багтсан тойрогийн шүргэлтийн цэг гурвалжны гипотенузийг 5 ба 12 см урттай хэрчмүүдэд хуваах бол гурвалжны катетуудын нийлбэрийг ол.

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