We want to hear from you!Take our 2021 Community Survey!
This site is no longer updated.Go to react.dev

ES6-sız React

These docs are old and won’t be updated. Go to react.dev for the new React docs.

Normalda, React komponenti sadə JavaScript sinfi kimi təyin edilir:

class Greeting extends React.Component {
  render() {
    return <h1>Salam, {this.props.name}</h1>;
  }
}

ES6 işlətmədikdə create-react-class modulundan istifadə edə bilərsiniz:

var createReactClass = require('create-react-class');
var Greeting = createReactClass({
  render: function() {
    return <h1>Salam, {this.props.name}</h1>;
  }
});

ES6 siniflərinin API-ı bəzi istinasları çıxmaqla createReactClass()-ın API-na bənzəyir.

Təyin Edilməyən Propların Müəyyənləşdirilməsi

defaultProps parametri, funksiya və ES6 siniflərində komponentin parametri kimi təyin edilir:

class Greeting extends React.Component {
  // ...
}

Greeting.defaultProps = {
  name: 'Ayşən'
};

createReactClass() işlətdikdə isə təyin edilməyən propları qaytamaq üçün getDefaultProps() funksiyası təyin edilməlidir:

var Greeting = createReactClass({
  getDefaultProps: function() {
    return {
      name: 'Ayşən'
    };
  },

  // ...

});

İlkin State-in Təyin Edilməsi

ES6 siniflərində ilkin state-i təyin etmək üçün konstruktordan this.state-i təyin etmək kifayətdir:

class Counter extends React.Component {
  constructor(props) {
    super(props);
    this.state = {count: props.initialCount};
  }
  // ...
}

createReactClass() funksiyasında isə ilkin state-i qaytaran getInitialState funksiyası təyin edilməlidir:

var Counter = createReactClass({
  getInitialState: function() {
    return {count: this.props.initialCount};
  },
  // ...
});

Avtomatik Binding

ES6 sinifləri ilə təyin olunan React siniflərinin funksiyaları standart ES6 siniflərinin semantikası ilə eynidir. Bu deməkdir ki, sinif funksiyalarında this instansiyasını avtomatik bind edilmir. Bu səbəbdən, konstruktorda açıq formada .bind(this) yazmalısınız:

class SayHello extends React.Component {
  constructor(props) {
    super(props);
    this.state = {message: 'Hello!'};
    // Bu sətr vacibdir!
    this.handleClick = this.handleClick.bind(this);
  }

  handleClick() {
    alert(this.state.message);
  }

  render() {
    // `this.handleClick` sinfə bind olduğundan biz bu funksiyanı hadisə işləyicisi kimi işlədə bilərik.
    return (
      <button onClick={this.handleClick}>
        Salam de
      </button>
    );
  }
}

createReactClass() işlətdikdə isə bütün daxili funksiyalar avtomatik olaraq bind olunur:

var SayHello = createReactClass({
  getInitialState: function() {
    return {