{"componentChunkName":"component---src-pages-index-js","path":"/","result":{"data":{"codeExamples":{"edges":[{"node":{"id":"a-component-using-external-plugins","code":"class MarkdownEditor extends React.Component {\n  constructor(props) {\n    super(props);\n    this.md = new Remarkable();\n    this.handleChange = this.handleChange.bind(this);\n    this.state = {value: 'Salam, **dünya**!'};\n  }\n\n  handleChange(e) {\n    this.setState({value: e.target.value});\n  }\n\n  getRawMarkup() {\n    return {__html: this.md.render(this.state.value)};\n  }\n\n  render() {\n    return (\n      <div className=\"MarkdownEditor\">\n        <h3>Daxiletmə</h3>\n        <label htmlFor=\"markdown-content\">Markdown daxil edin</label>\n        <textarea\n          id=\"markdown-content\"\n          onChange={this.handleChange}\n          defaultValue={this.state.value}\n        />\n        <h3>Nəticə</h3>\n        <div\n          className=\"content\"\n          dangerouslySetInnerHTML={this.getRawMarkup()}\n        />\n      </div>\n    );\n  }\n}\n\nroot.render(<MarkdownEditor />);\n","mdAbsolutePath":"/vercel/path0/content/home/examples/a-component-using-external-plugins.md"}},{"node":{"id":"a-simple-component","code":"class HelloMessage extends React.Component {\n  render() {\n    return <div>Salam {this.props.name}</div>;\n  }\n}\n\nroot.render(<HelloMessage name=\"Fuad\" />);\n","mdAbsolutePath":"/vercel/path0/content/home/examples/a-simple-component.md"}},{"node":{"id":"a-stateful-component","code":"class Timer extends React.Component {\n  constructor(props) {\n    super(props);\n    this.state = {seconds: 0};\n  }\n\n  tick() {\n    this.setState(state => ({\n      seconds: state.seconds + 1,\n    }));\n  }\n\n  componentDidMount() {\n    this.interval = setInterval(() => this.tick(), 1000);\n  }\n\n  componentWillUnmount() {\n    clearInterval(this.interval);\n  }\n\n  render() {\n    return <div>{this.state.seconds} saniyə</div>;\n  }\n}\n\nroot.render(<Timer />);\n","mdAbsolutePath":"/vercel/path0/content/home/examples/a-stateful-component.md"}},{"node":{"id":"an-application","code":"class TodoApp extends React.Component {\n  constructor(props) {\n    super(props);\n    this.state = {items: [], text: ''};\n    this.handleChange = this.handleChange.bind(this);\n    this.handleSubmit = this.handleSubmit.bind(this);\n  }\n\n  render() {\n    return (\n      <div>\n        <h3>TODO</h3>\n        <TodoList items={this.state.items} />\n        <form onSubmit={this.handleSubmit}>\n          <label htmlFor=\"new-todo\">Nə etmək lazımdır?</label>\n          <input\n            id=\"new-todo\"\n            onChange={this.handleChange}\n            value={this.state.text}\n          />\n          <button>Əlavə Et #{this.state.items.length + 1}</button>\n        </form>\n      </div>\n    );\n  }\n\n  handleChange(e) {\n    this.setState({text: e.target.value});\n  }\n\n  handleSubmit(e) {\n    e.preventDefault();\n    if (this.state.text.length === 0) {\n      return;\n    }\n    const newItem = {\n      text: this.state.text,\n      id: Date.now(),\n    };\n    this.setState(state => ({\n      items: state.items.concat(newItem),\n      text: '',\n    }));\n  }\n}\n\nclass TodoList extends React.Component {\n  render() {\n    return (\n      <ul>\n        {this.props.items.map(item => (\n          <li key={item.id}>{item.text}</li>\n        ))}\n      </ul>\n    );\n  }\n}\n\nroot.render(<TodoApp />);\n","mdAbsolutePath":"/vercel/path0/content/home/examples/an-application.md"}}]},"examples":{"edges":[{"node":{"fileAbsolutePath":"/vercel/path0/content/home/examples/a-simple-component.md","fields":{"slug":"/home/examples/a-simple-component.html"},"frontmatter":{"title":"Sadə Komponent","domid":"hello-example"},"html":"<p>React komponenti daxil olan məlumatları qəbul edib nəyi göstəriləcəyini qaytaran, <code class=\"gatsby-code-text\">render()</code> funksiyasını tətbiq edir. Bu nümunədə XML-ə oxşayan sintaksis - JSX işlənilir. Daxil olunan məlumat <code class=\"gatsby-code-text\">this.props</code> ilə <code class=\"gatsby-code-text\">render</code> funksiyasından oxuna bilər.</p>\n<p><strong>JSX məcburi deyil və React işlətmək üçün tələb olunmur.</strong> JSX kompilyasiyasından yaradılan Javascript kodunu görmək üçün <a href=\"https://babeljs.io/repl/#?presets=react&code_lz=MYewdgzgLgBApgGzgWzmWBeGAeAFgRgD4AJRBEAGhgHcQAnBAEwEJsB6AwgbgChRJY_KAEMAlmDh0YWRiGABXVOgB0AczhQAokiVQAQgE8AkowAUAcjogQUcwEpeAJTjDgUACIB5ALLK6aRklTRBQ0KCohMQk6Bx4gA\" target=\"_blank\" rel=\"noreferrer\">Babel REPL</a> sınayın.</p>"}},{"node":{"fileAbsolutePath":"/vercel/path0/content/home/examples/a-stateful-component.md","fields":{"slug":"/home/examples/a-stateful-component.html"},"frontmatter":{"title":"Vəziyyətli Komponent","domid":"timer-example"},"html":"<p>Daxil olunan məlumatdan (<code class=\"gatsby-code-text\">this.props</code> ilə oxunur) əlavə, komponent daxili vəziyyət məlumatlarını saxlaya bilər (<code class=\"gatsby-code-text\">this.state</code> ilə  oxunur). Komponent vəziyyətində dəyişikliklər olduqda, render olunmuş nişan <code class=\"gatsby-code-text\">render()</code> funksiyasının çağrılmağı ilə yenilənir.</p>"}},{"node":{"fileAbsolutePath":"/vercel/path0/content/home/examples/an-application.md","fields":{"slug":"/home/examples/an-application.html"},"frontmatter":{"title":"Bir Applikasiya","domid":"todos-example"},"html":"<p>Gəlin <code class=\"gatsby-code-text\">props</code> və <code class=\"gatsby-code-text\">state</code> işlədərək kiçik bir Todo applikasiya yaradaq. Bu nümunədə <code class=\"gatsby-code-text\">state</code> ilə cari elementlərin siyayısını, həmçinin istifadəçinin daxil etdiyi mətni izləyir. Hadisə işləyicilərinin sətirdaxili olmağına baxmayaraq, bu işləyicilər toplanır və hadisə deleqasiyası tərəfindən tətbiq edilir.</p>"}},{"node":{"fileAbsolutePath":"/vercel/path0/content/home/examples/a-component-using-external-plugins.md","fields":{"slug":"/home/examples/a-component-using-external-plugins.html"},"frontmatter":{"title":"Xarici Pluginlər ilə Komponent","domid":"markdown-example"},"html":"<p>React sizə digər kitabxana və freymvorklara inteqrasiya etmək üçün metodlar ilə təmin edir. Bu nümunədə <strong>remarkable</strong> xarici Markdown kitabxanası işlənərək <code class=\"gatsby-code-text\">&lt;textarea></code> elementinin dəyəri markdown-a real zamanda çevrilir.</p>"}}]},"marketing":{"edges":[{"node":{"frontmatter":{"title":"Deklarativ"},"html":"<p>React interaktiv UI yaranmasını çox asanlaşdırır. Applikasiyanızın hər bir halı üçün sadə görünüşlər yaradın. Məlumatlar dəyişən zaman React düzgün komponentləri səmərəli şəkildə dəyişir və render edir.</p>\n<p>Deklarativ görünüşlər sizini kodunuzu daha proqnozlaşdırıla bilən və asan dibuq olunan edir.</p>"}},{"node":{"frontmatter":{"title":"Komponent Əsasında"},"html":"<p>Öz halını idarə edən inkapsulasiyalı komponentlər düzəldib, sonra komponentləri tərtib edərək kompleks UI yaradın.</p>\n<p>Komponent məntiqi şablon əvəzinə JavaScriptdə yazıldığından, siz asanlıqla zəngin məlumatları öz applikasiyanıza göndərərək vəziyyəti DOMdan kənarda saxlaya bilərsiniz.</p>"}},{"node":{"frontmatter":{"title":"Bir dəfə öyrən, Hər yerdə yaz"},"html":"<p>Biz, sizin qalan texnologiya stekiniz haqqında heç bir təxmin etmirik. Bu səbədən siz mövcud kodunuzu yenidən yazmadan, yeni xüsusiyyətləri Reactdə yaza bilərsiniz.</p>\n<p>React həmçinin Node ilə serverdə render edə və mobil applikasiyaları <a href=\"https://reactnative.dev/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">React Native</a> ilə dəstəkləyə bilər.</p>"}}]}},"pageContext":{}},"staticQueryHashes":[]}