JSX https://drupalweb.ir/ fa jsx چیست ؟ https://drupalweb.ir/blog/what-is-jsx <span class="field field--name-title field--type-string field--label-hidden">jsx چیست ؟</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="">حامد حسینی</span></span> <span class="field field--name-created field--type-created field--label-hidden">چ., 09/18/2019 - 11:13</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>JSX یک syntax XML / HTML است که توسط React استفاده می شود که توسط  ECMAScript  گسترش داده شده است .jsx این امکان را میدهد تا شما ساختاری مشابه html داشته باشید  تا توسط dom به تگ های html استاندارد و  قابل خوانا توسط java script تبدیل کند .</p> <p>در اصل ، با استفاده از JSX می توانید ساختارهای مختصر HTML / XML را در کد های خود بنویسید  ، سپس بابل این عبارات را به کد جاوا اسکریپت واقعی تبدیل می کند. بر خلاف گذشته ، به جای قرار دادن JavaScript به HTML ، JSX به ما امکان می دهد HTML را در JavaScript قرار دهیم.</p> <p>در React، به جای استفاده از regular JavaScript برای قالب سازی، از JSX استفاده می کند. JSX یک جاوا اسکریپت ساده است که اجازه میدهد از کدهای html استفاده کنید. این کدها تبدیل به کدهای جاوا اسکریپت می شوند که آنها را React Framework می نامند.</p> <p>در React، برای پروسه Templating از JSX یا JavaScript Syntax Edition به جای جاوا اسکریپت عادی استفاده شود. JSX نوعی جاوا اسکریپت ساده است که شما اجازه می‌دهد تا کدهای html را درون ساختارش قرار دهید. این کدهای HTML در ساختار JSX در هنگام اجرا به کدهای جاوا اسکریپتی رندر می‌شوند. البته این امکان وجود دارد که کدها را بدون استفاده از HTML و به صورت جاوا اسکریپت هم بنویسید. در این صورت دیگر نیازی به دانش JSX نیست.</p> <p>مثال زیر را ببینید :</p> <pre> <code class="language-javascript">var nav = ( &lt;ul id="nav"&gt; &lt;li&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;About&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;Clients&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;Contact Us&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; );</code></pre> <p>که  بابل آن را به این صورت تبدیل می کند:</p> <pre> <code class="language-javascript">var nav = React.createElement( "ul", { id: "nav" }, React.createElement( "li", null, React.createElement( "a", { href: "#" }, "Home" ) ), React.createElement( "li", null, React.createElement( "a", { href: "#" }, "About" ) ), React.createElement( "li", null, React.createElement( "a", { href: "#" }, "Clients" ) ), React.createElement( "li", null, React.createElement( "a", { href: "#" }, "Contact Us" ) ) );</code></pre> <p>تمام attribute ‌های jsx از قانون camleCase استفاده میکنند .</p> <p>برای اینکه HTML و JavaScript را در هر برنامه ای درون هم بنویسیم میتواند موضوع بحث بر انگیز باشد .شما میتوانید بدون jsx کد های html  را در ریشه React.createElement() بنویسید اما این میتواند بعدا برای شما خطا های فراوانی به هوراه داشته باشد </p> <p>در react هندلینگ خطاها با استفاده از jsx خیلی راحت تر است . </p> <p>علاوه بر این ،  به وضوح قابل باور است که  JSX برای تعریف UI مناسب تر از یک راه حل سنتی قالب (مثلاً Handlebars) است.</p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/styles/blog/public/1398-06/1%2Ai_Vj3gs7QO9fjcxELK2c2g.png?itok=xN3JPF4U" width="700" height="300" alt="jsx چیست ؟" title="jsx چیست ؟" typeof="foaf:Image" class="image-style-blog" /> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-hidden clearfix"> <ul class='links field__items'> <li><a href="/brchsbha/jsx" hreflang="fa">JSX</a></li> </ul> </div> <div class="field field--name-field-dsth-bndy field--type-entity-reference field--label-hidden field__items"> <div class="field__item"><a href="/dsth-bndy-wblag/react-js" hreflang="fa">react js</a></div> </div> <section class="field field--name-field-comments field--type-comment field--label-above comment-wrapper"> <h2 class='title comment-form__title'>افزودن دیدگاه جدید</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=301&amp;2=field_comments&amp;3=comment" token="aKhbvLK9H1YjgGr-ZNN1elbev_LB5TsJErSit8E7BMo"></drupal-render-placeholder> </section> Wed, 18 Sep 2019 06:43:59 +0000 حامد حسینی 301 at https://drupalweb.ir https://drupalweb.ir/blog/what-is-jsx#comments