diff --git a/css/main.css b/css/main.css index da97557dde5..ea9362ffc88 100644 --- a/css/main.css +++ b/css/main.css @@ -1 +1 @@ -a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}body{color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;word-wrap:break-word}*{box-sizing:border-box}b,strong{font-weight:600}em,i{font-style:italic}[type=checkbox]{box-sizing:border-box;padding:0}a,a:hover{color:#222;text-decoration:none}a:active,a:hover{outline-width:0}a:not([href]){color:inherit;text-decoration:none}p{margin-bottom:1em;margin-top:0}h1,h2,h3,h4,h5,h6{color:inherit;font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:1.5em}h1{font-size:32px}h2{font-size:24px}h3{font-size:20px}h4{font-size:16px}h5{font-size:14px}h6{font-size:13.6px}ol,ul{margin-bottom:1em;margin-top:0;padding-left:2em}ol ol,ul ol{list-style-type:lower-roman}ol ol,ol ul,ul ol,ul ul{margin-bottom:0;margin-top:0}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}li{word-wrap:break-all}li>p{margin-top:1em}li+li{margin-top:.25em}img{border-style:none;box-sizing:content-box;max-width:100%}img[align=right]{padding-left:1.25em}img[align=left]{padding-right:1.25em}table{border-spacing:0;display:block;margin-bottom:16px;margin-top:0;overflow:auto;width:100%}table tr{background-color:transparent;border-top:1px solid #dfe2e5}table tr:nth-child(2n){background-color:#f6f8fa}table td,table th{border:1px solid #dfe2e5;padding:6px 13px}table th{background-color:inherit;font-weight:600}table td,table th{color:inherit}blockquote{color:#6a737d;font-size:16px;margin:0;margin-bottom:16px;padding:0 1em}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}code{background-color:rgba(27,31,35,.05);border-radius:3px;color:inherit;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:85%;margin:0;padding:3.2px 6.4px}pre{margin-bottom:16px}pre code{background-color:transparent;border:0;display:inline;font-size:85%;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;white-space:pre;word-break:normal;word-wrap:normal}kbd{background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:68.75%;line-height:10px;padding:3px 5px;vertical-align:middle}hr{border:1px solid #dfe2e5;box-sizing:content-box;margin:1.5em 0;overflow:hidden;padding:0}hr:after,hr:before{content:"";display:table}hr:after{clear:both}body{min-height:100vh;text-rendering:optimizeLegibility}@media only screen and (min-width:736px){body{display:flex;flex-direction:column}}article:after,article:before{content:"";display:table}article:after{clear:both}article>:first-child{margin-top:0}article>:last-child{margin-bottom:0}article iframe,article p img{display:block;margin-left:auto;margin-right:auto;max-width:100%}.anchor{display:block;position:relative;top:-80px}.hash-link{line-height:1;margin-left:-20px;opacity:0;padding-right:4px;transition:opacity .3s}.hash-link:hover{opacity:1!important;transition:none}.hash-link .hash-link-icon{vertical-align:middle}.button{border:1px solid #222;border-radius:3px;color:#222;display:inline-block;font-size:14px;font-weight:400;line-height:1.2em;padding:10px;text-decoration:none!important;text-transform:uppercase;transition:background .3s,color .3s}.button:hover{background:#222;color:#fff}h1:hover .hash-link,h2:hover .hash-link,h3:hover .hash-link,h4:hover .hash-link{opacity:.5;transition:none}blockquote{background-color:rgba(255,229,100,.3);border-left:8px solid #ffe564;padding:15px 30px 15px 15px}.wrapper{margin:0 auto;max-width:1100px;padding:0 20px}.wrapper blockquote>p:first-child{padding-top:0}.center{display:block}.center,.homeContainer{text-align:center}.homeContainer .homeWrapper{padding:2em 10px}.homeContainer .homeWrapper .wrapper{margin:0 auto;max-width:900px;padding:0 20px}.homeContainer .homeWrapper .projectLogo img{height:100px;margin-bottom:0}.homeContainer .homeWrapper #project_title{font-size:300%;letter-spacing:-.08em;line-height:1em;margin-bottom:80px}.homeContainer .homeWrapper #project_tagline{font-size:200%;letter-spacing:-.04em;line-height:1em}.projectLogo{display:none;pointer-events:none}.projectLogo img{height:100px;margin-bottom:0}.projectIntro{margin:40px 0}.projectTitle{color:#222;font-size:250%;line-height:1em}.projectTitle>small{display:block;font-weight:400;font-size:50%;line-height:1em;margin:.7em 0 1.3em}@media only screen and (min-width:480px){.projectTitle{font-size:300%;margin:.3em 0}.projectLogo img{height:200px;margin-bottom:10px}.homeContainer .homeWrapper{padding-left:10px;padding-right:10px}}@media only screen and (min-width:736px){.homeContainer .homeWrapper{position:relative}.homeContainer .homeWrapper #inner{max-width:600px;padding-right:40px}}@media only screen and (min-width:1200px){.homeContainer .homeWrapper #inner{max-width:750px}.homeContainer .homeWrapper .projectLogo{align-items:center;bottom:0;display:flex;justify-content:flex-end;left:0;padding:2em 100px 4em;position:absolute;right:0;top:0}.homeContainer .homeWrapper .projectLogo img{height:100%;max-height:250px}}@media only screen and (min-width:1500px){.homeContainer .homeWrapper #inner{max-width:1100px;padding-bottom:40px;padding-top:40px}.wrapper{max-width:1400px}}.mainContainer{flex:1 1 auto;max-width:100%;padding:48px 0}.mainContainer .wrapper{text-align:left}.mainContainer .wrapper .allShareBlock{padding:10px 0}.mainContainer .wrapper .allShareBlock .pluginBlock{margin:12px 0;padding:0}.mainContainer .wrapper .post{position:relative}.mainContainer .wrapper .post.basicPost{margin-top:30px}.mainContainer .wrapper .post .postHeader{margin-bottom:16px}.mainContainer .wrapper .post .postHeaderTitle{margin-top:0;padding:0}.mainContainer .wrapper .post .postSocialPlugins{padding-top:1em}.mainContainer .wrapper .post .docPagination{background:#222;bottom:0;left:0;position:absolute;right:0}.mainContainer .wrapper .post .docPagination .pager{display:inline-block;width:50%}.mainContainer .wrapper .post .docPagination .pagingNext{float:right;text-align:right}.mainContainer .wrapper .post .docPagination a{border:none;color:#fff;display:block;padding:4px 12px}.mainContainer .wrapper .post .docPagination a:hover{background-color:#f9f9f9;color:#393939}.mainContainer .wrapper .post .docPagination a .pagerLabel{display:inline}.mainContainer .wrapper .post .docPagination a .pagerTitle{display:none}@media only screen and (min-width:480px){.mainContainer .wrapper .post .docPagination a .pagerLabel{display:none}.mainContainer .wrapper .post .docPagination a .pagerTitle{display:inline}}@media only screen and (min-width:1024px){.mainContainer .wrapper .post{display:block}.mainContainer .wrapper .posts .post{width:100%}}.fixedHeaderContainer{background:#222;color:#fff;min-height:50px;padding:8px 0;position:fixed;width:100%;z-index:9999}@media only screen and (min-width:1024px){.fixedHeaderContainer{flex-shrink:0}}.fixedHeaderContainer a{align-items:center;border:0;color:#fff;display:flex;flex-flow:row nowrap;height:34px;z-index:10000}.fixedHeaderContainer header{display:flex;flex-flow:row nowrap;position:relative;text-align:left}.fixedHeaderContainer header img{height:100%;margin-right:10px}.fixedHeaderContainer header .headerTitle{font-size:1.25em;margin:0}.fixedHeaderContainer header .headerTitleWithLogo{display:block;font-size:1.25em;line-height:18px;margin:0;position:relative;z-index:9999}.fixedHeaderContainer header h3{color:#fff;font-size:16px;margin:0;margin-left:10px;text-decoration:underline}@media (max-width:480px){.headerTitle{font-size:17px}.headerTitleWithLogo{display:none!important}}.promoSection{display:flex;flex-flow:column wrap;font-size:125%;line-height:1.6em;position:relative;z-index:99}.promoSection .promoRow{padding:10px 0}.promoSection .promoRow .pluginWrapper{display:block}.promoSection .promoRow .pluginWrapper.ghStarWrapper,.promoSection .promoRow .pluginWrapper.ghWatchWrapper{height:28px}.promoSection .promoRow .pluginRowBlock{display:flex;flex-wrap:wrap;justify-content:center;margin:0 -2px}.promoSection .promoRow .pluginRowBlock .pluginWrapper{padding:0 2px}.promoSection .promoRow .pluginRowBlock iframe{margin-left:2px;margin-top:5px}input[type=search]{-moz-appearance:none;-webkit-appearance:none}.navSearchWrapper{align-items:center;align-self:center;display:flex;justify-content:center;padding-left:10px;position:absolute;right:10px;top:15px}.navSearchWrapper:before{border:3px solid #e5e5e5;border-radius:50%;content:" ";display:block;height:6px;left:15px;position:absolute;top:50%;-webkit-transform:translateY(-58%);transform:translateY(-58%);width:6px;z-index:1}.navSearchWrapper:after{background:#e5e5e5;content:" ";height:7px;left:24px;position:absolute;top:55%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);width:3px;z-index:1}.navSearchWrapper .aa-dropdown-menu{background:#f9f9f9;border:3px solid rgba(57,57,57,.25);color:#393939;font-size:14px;left:auto!important;line-height:1.2em;right:0!important}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--category-header{background:#222;color:#fff;font-size:14px;font-weight:400}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--highlight{background-color:#222;color:#fff}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight,.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--title .algolia-docsearch-suggestion--highlight{color:#222}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--subcategory-column,.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion__secondary{border-color:rgba(57,57,57,.3)}input#search_input_react{background-color:rgba(0,0,0,.2);border:none;border-radius:20px;color:#fff;font-size:14px;font-weight:300;line-height:20px;outline:none;padding-left:25px;position:relative;transition:width .5s ease;width:170px}input#search_input_react:active,input#search_input_react:focus{color:#fff;width:220px}@media only screen and (max-width:735px){.navSearchWrapper{width:40%}}input::-webkit-input-placeholder{color:#e5e5e5}input:-ms-input-placeholder{color:#e5e5e5}input::-ms-input-placeholder{color:#e5e5e5}input::placeholder{color:#e5e5e5}.hljs{padding:1.25rem 1.5rem}.gridBlock{padding:0}.gridBlock>*{box-sizing:border-box}.gridBlock .fourByGridBlock img,.gridBlock .threeByGridBlock img,.gridBlock .twoByGridBlock img{max-width:100%}.gridBlock .gridClear{clear:both}@media only screen and (max-width:735px){.gridBlock .fourByGridBlock{flex:1 0 26%}}@media only screen and (min-width:736px){.gridBlock{display:flex;flex-direction:row;flex-wrap:wrap}.gridBlock>*{margin:0 12px}.gridBlock>:first-child{margin-left:0}.gridBlock>:last-child{margin-right:0}.gridBlock .twoByGridBlock{flex:1 0 40%}.gridBlock .threeByGridBlock{flex:1 0 26%}.gridBlock .fourByGridBlock{flex:1 0 20%}h2+.gridBlock{padding-top:20px}}@media only screen and (min-width:1400px){.gridBlock{display:flex;flex-direction:row;flex-wrap:wrap}}.alignCenter{text-align:center}.alignRight{text-align:right}.imageAlignSide{display:flex;flex-flow:row wrap}.blockImage{max-width:730px}.imageAlignSide .blockImage{flex:0 1 500px;max-width:500px}@media only screen and (max-width:735px){.imageAlignSide .blockImage{display:none}}.imageAlignSide .blockContent{flex:1 1}.imageAlignBottom .blockImage{margin:0 auto 20px;max-width:730px}.imageAlignBottom.alignCenter .blockImage{margin-left:auto;margin-right:auto}.imageAlignTop .blockImage{margin-bottom:20px;max-width:80px}.imageAlignTop.alignCenter .blockImage{margin-left:auto;margin-right:auto}.imageAlignRight .blockImage{margin-left:40px}.imageAlignLeft .blockImage{margin-right:40px}.container .gridBlock .blockContent p{padding:0}.container .wrapper .alignCenter h2{text-align:center}.container .wrapper .imageAlignSide h2{text-align:left}.container .wrapper .imageAlignSide p{margin:0;margin-bottom:40px;max-width:560px}.highlightBackground{background:rgba(153,66,79,.7);color:#fff}.highlightBackground a{font-weight:800}.container.highlightBackground .wrapper h1,.container.highlightBackground .wrapper h2,.container.highlightBackground .wrapper h3,.container.highlightBackground .wrapper h4,.container.highlightBackground .wrapper h5,.highlightBackground a{border-color:#fff;color:#fff}.lightBackground{background:#f7f7f7}.darkBackground{background:gray;color:#fff}.darkBackground a,.darkBackground code{color:#d6b3b8}.container.darkBackground .wrapper h1,.container.darkBackground .wrapper h2,.container.darkBackground .wrapper h3,.container.darkBackground .wrapper h4,.container.darkBackground .wrapper h5{border-color:#fff;color:#fff}.container.paddingAll{padding:40px}.container.paddingBottom{padding-bottom:80px}.container.paddingLeft{padding-left:40px}.container.paddingRight{padding-right:40px}.container.paddingTop{padding-top:80px}@media only screen and (max-width:735px){.container.paddingBottom{padding-bottom:40px}.container.paddingTop{padding-top:20px}}@media only screen and (max-width:1023px){.responsiveList .blockContent{position:relative}.responsiveList .blockContent>div{padding-left:20px}.responsiveList .blockContent:before{content:"\2022";position:absolute}}.navigationSlider .navSlideout{cursor:pointer;padding-top:4px;position:absolute;right:10px;top:0;transition:top .3s;z-index:101}.navigationSlider .slidingNav{bottom:auto;box-sizing:border-box;left:0;position:fixed;right:0;top:0}.navigationSlider .slidingNav.slidingNavActive{height:auto;padding-top:42px;width:300px}.navigationSlider .slidingNav ul{background:#05a5d1;box-sizing:border-box;color:#fff;display:flex;flex-wrap:nowrap;list-style:none;margin-top:50px;padding:0;width:100%}.navigationSlider .slidingNav.slidingNavActive ul{display:block}.navigationSlider .slidingNav ul li{flex:1 1 auto;margin:0;text-align:center;white-space:nowrap}.navigationSlider .slidingNav ul li a{align-items:center;box-sizing:border-box;color:#222;color:inherit;display:flex;font-size:.9em;height:auto;height:50px;justify-content:center;margin:0;padding:10px;transition:background-color .3s}.navigationSlider .slidingNav ul li.siteNavGroupActive a,.navigationSlider .slidingNav ul li.siteNavItemActive a,.navigationSlider .slidingNav ul li a:focus,.navigationSlider .slidingNav ul li a:hover{background:#222}.languages-icon{width:20px}#languages-dropdown{pointer-events:none;position:absolute;width:100%}#languages-dropdown.visible{display:flex}#languages-dropdown.hide{display:none}#languages-dropdown-items{background-color:#222;display:flex;flex-direction:column;min-width:120px;pointer-events:all}#languages li{display:block}.navPusher{left:0;min-height:100%;padding-top:100px;position:relative;z-index:99}.navPusher:after{background:rgba(0,0,0,.4);content:"";height:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .5s,width .1s .5s,height .1s .5s;width:0}@media screen and (min-width:1024px){.navPusher{display:flex;flex-direction:column;min-height:calc(100vh - 50px);padding-top:50px}.navPusher,.navPusher>:first-child{flex-grow:1}}.sliderActive .navPusher:after{height:100%;opacity:1;transition:opacity .5s;width:100%;z-index:100}@media only screen and (max-width:1024px){.reactNavSearchWrapper input#search_input_react{background-color:hsla(17,71%,82%,.25);border:none;border-radius:20px;box-sizing:border-box;color:#393939;font-size:14px;line-height:20px;outline:none;padding-left:25px;position:relative;transition:background-color .2s cubic-bezier(.68,-.55,.265,1.55),width .2s cubic-bezier(.68,-.55,.265,1.55),color .2s ease;width:100%}.reactNavSearchWrapper input#search_input_react:active,.reactNavSearchWrapper input#search_input_react:focus{background-color:#222;color:#fff}.reactNavSearchWrapper .algolia-docsearch-suggestion--subcategory-inline{display:none}.reactNavSearchWrapper>span{width:100%}.reactNavSearchWrapper .aa-dropdown-menu{background:#f9f9f9;border:0 solid #f9f9f9;border-radius:0;color:#393939;font-size:12px;line-height:2em;max-height:140px;min-width:auto;-webkit-overflow-scrolling:touch;overflow-y:scroll;padding:0;position:relative!important;width:100%}#languages-dropdown{left:0;top:50px}#languages-dropdown-items{background-color:#222;display:flex;flex-direction:row}}@media only screen and (min-width:1024px){.navSearchWrapper{padding-left:10px;position:relative;right:auto;top:auto}.navSearchWrapper .algolia-autocomplete{display:block}.navigationSlider{height:34px;margin-left:auto;position:relative}.navigationSlider .navSlideout{display:none}.navigationSlider nav.slidingNav{background:none;height:auto;position:relative;right:auto;top:auto;width:auto}.navigationSlider .slidingNav ul{background:none;display:flex;flex-flow:row nowrap;margin:0;padding:0;width:auto}.navigationSlider .slidingNav ul li a{border:0;color:hsla(0,0%,100%,.8);display:flex;font-size:16px;font-size:1em;font-weight:300;height:32px;line-height:1.2em;margin:0;padding:0;padding:6px 10px}.navigationSlider .slidingNav ul li.siteNavGroupActive a,.navigationSlider .slidingNav ul li.siteNavItemActive a,.navigationSlider .slidingNav ul li a:hover{color:#fff}}@media only screen and (max-width:735px){.navigationSlider .slidingNav ul{overflow-x:auto}.navigationSlider .slidingNav ul::-webkit-scrollbar{display:none}}.docMainWrapper .wrapper{padding-left:0;padding-right:0;padding-top:10px}@media only screen and (min-width:1024px){.docMainWrapper{width:100%}.docMainWrapper>*{margin:0 24px}.docMainWrapper>:first-child{margin-left:0}.docMainWrapper>:last-child{margin-right:0}.docMainWrapper .mainContainer{min-width:0}}.edit-page-link{float:right;font-size:10px;font-weight:400;margin-top:3px;text-decoration:none}@media only screen and (max-width:1023px){.edit-page-link{display:none}}.docs-prevnext{margin:20px 0}.docs-prevnext:after{clear:both;content:" ";display:table}.docs-next{float:right}.docs-prev{float:left}@media only screen and (max-width:735px){.docs-prevnext{height:40px}}@media only screen and (max-width:1023px){.docsNavContainer{background:#fff;left:0;position:fixed;width:100%;z-index:100}}@media only screen and (min-width:1024px){.docsNavContainer{flex:0 0 240px;height:calc(100vh - 50px);position:-webkit-sticky;position:sticky;overflow-y:auto;top:50px}}.docsSliderActive.docsNavContainer{box-sizing:border-box;height:100%;-webkit-overflow-scrolling:touch;overflow-y:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;padding-bottom:50px}.docsNavContainer .toc .navBreadcrumb{background-color:#f1f1f1;box-sizing:border-box;display:flex;flex-flow:row nowrap;font-size:12px;height:48px;overflow:hidden;padding:8px 20px}.docsNavContainer .toc .navWrapper{padding:0}@media only screen and (min-width:1024px){.docsNavContainer .toc .navBreadcrumb{display:none}.navBreadcrumb h2{padding:0 10px}.separateOnPageNav .docsNavContainer{flex:0 0 240px}}.navBreadcrumb a,.navBreadcrumb span{border:0;color:#393939}@media only screen and (max-width:735px){.anchor{top:-144px}}@media only screen and (min-width:1024px){.toc{padding:40px 0}}.toc section{padding:0;position:relative}.toc section .navGroups{display:none;padding:48px 20px 60px}.toc .toggleNav{color:#393939;position:relative}.toc .toggleNav .navToggle{cursor:pointer;height:32px;margin-right:10px;position:relative;text-align:left;width:18px}.toc .toggleNav .navToggle:after,.toc .toggleNav .navToggle:before{border:5px solid #393939;border-width:5px 0;content:"";height:6px;left:0;left:8px;margin-top:-8px;position:absolute;top:50%;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:3px;z-index:1}.toc .toggleNav .navToggle:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.toc .toggleNav .navToggle i:after,.toc .toggleNav .navToggle i:before{background:transparent;border-color:transparent #393939;border-style:solid;border-width:0 5px 5px;content:"";height:0;left:2px;margin-top:-7px;opacity:1;position:absolute;top:50%;width:5px;z-index:10}.toggleNav h2 i{padding:0 4px}.toc .toggleNav .navToggle i:after{border-width:5px 5px 0;margin-top:2px}.docsSliderActive .toc .toggleNav .navToggle:after,.docsSliderActive .toc .toggleNav .navToggle:before{border-width:8px 0;height:0;margin-top:-8px}.docsSliderActive .toc .toggleNav .navToggle i{opacity:0}.docsSliderActive .tocToggler{visibility:hidden}.toc .toggleNav .navGroup{margin-bottom:16px}.toc .toggleNav .navGroup .navGroupCategoryTitle{color:#393939;font-size:18px;font-weight:500;line-height:1.2em;margin-bottom:8px;margin-top:0}.toc .toggleNav .navGroup .navListItem{margin:0}.toc .toggleNav .navGroup h3 i:not(:empty){box-sizing:border-box;color:rgba(57,57,57,.5);display:inline-block;height:16px;margin-right:10px;text-align:center;transition:color .2s;width:16px}.toc .toggleNav ul{padding:0 8px}.docsSliderActive .toc .toggleNav ul{padding-left:0}.toc .toggleNav ul li{list-style-type:none;padding:0}.toc .toggleNav ul li a{border:none;color:#717171;display:block;font-size:14px;padding:4px 0;transition:color .3s}.toc .toggleNav ul li.navListItemActive a,.toc .toggleNav ul li a:focus,.toc .toggleNav ul li a:hover{color:#222}.docsSliderActive .toc .navBreadcrumb,.tocActive .navBreadcrumb{border-bottom:1px solid #ccc;margin-bottom:20px;position:fixed;width:100%}.toc .toggleNav .navBreadcrumb h2{border:0;flex-grow:1;font-size:16px;font-weight:600;line-height:32px;margin:0;padding:0}.docsSliderActive .toc section .navGroups{display:block;padding-top:60px}.tocToggler{cursor:pointer;height:32px;line-height:32px;margin-right:-10px;padding:0 10px}.icon-toc{box-sizing:border-box;display:inline-block;line-height:normal;position:relative;top:-1px;vertical-align:middle}.icon-toc,.icon-toc:after,.icon-toc:before{background-color:currentColor;border:1px solid currentColor;border-radius:50%;box-sizing:border-box;height:4px;width:4px}.icon-toc:after,.icon-toc:before{content:"";position:absolute}.icon-toc:before{left:-1px;top:-7px}.icon-toc:after{left:-1px;top:5px}.tocActive .icon-toc{border-radius:0;height:16px;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:3px}.tocActive .icon-toc:before{border-radius:0;height:3px;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:16px}.tocActive .icon-toc:after{content:""}@media only screen and (min-width:1024px){.docMainWrapper{display:flex;flex-flow:row nowrap}.docMainWrapper .wrapper{padding-top:0;padding-left:0;padding-right:0}}.onPageNav{display:none}.onPageNav::-webkit-scrollbar{display:none}.onPageNav a{color:#717171}.onPageNav ul{list-style:none}.onPageNav ul li{font-size:12px;line-height:16px;padding-bottom:8px}.onPageNav ul ul{padding:8px 0 0 20px}.onPageNav ul ul li{padding-bottom:5px}@media only screen and (min-width:1024px){.toc section .navGroups{display:block;padding:0;padding-top:8px}.navBreadcrumb h2{padding:0 10px}}@supports ((position: -webkit-sticky) or (position: sticky)){@media only screen and (max-width:1023px){.tocActive .onPageNav{background:#fff;bottom:0;display:block;left:0;overflow-y:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;padding:0 20px;position:fixed;right:0;top:148px;z-index:10}.tocActive .navBreadcrumb h2,.tocActive .navToggle{visibility:hidden}.tocActive .onPageNav>.toc-headings{padding:12px 0}}@media only screen and (min-width:1024px){.separateOnPageNav .headerWrapper.wrapper,.separateOnPageNav .wrapper{max-width:1400px}.separateOnPageNav .toc{width:auto}.separateOnPageNav.sideNavVisible .navPusher .mainContainer{flex:1 auto;max-width:100%;min-width:0}.onPageNav{align-self:flex-start;display:block;flex:0 0 240px;max-height:calc(100vh - 90px);overflow-y:auto;position:-webkit-sticky;position:sticky;top:90px}.onPageNav>.toc-headings{border-left:1px solid #e0e0e0;padding:10px 0 2px 15px}.tocToggler{display:none}}}.blog .wrapper{max-width:1100px}.blogContainer .posts .post{border-bottom:1px solid #e0e0e0;border-radius:3px;margin-bottom:20px;padding-bottom:20px}.blogContainer .postHeader{margin-bottom:10px}.blogContainer .postHeaderTitle{margin-top:0}.blogContainer .postHeader p.post-meta{margin-bottom:10px;padding:0}.blogContainer .postHeader .authorBlock{display:flex}.blogContainer .postHeader .post-authorName{color:rgba(57,57,57,.7);display:flex;flex-direction:column;font-size:14px;font-weight:400;justify-content:center;margin-right:10px;margin-top:0;padding:0}.blogContainer .postHeader .authorPhoto{border-radius:50%;height:30px;overflow:hidden;width:30px}.blogContainer .postHeader .authorPhoto.authorPhotoBig{height:50px;width:50px}.blog-recent{margin:20px 0}.blog-recent>a{float:left}@media only screen and (max-width:735px){.blog-recent{height:40px}}.blogSocialSection{display:block;padding:36px 0}.blogSocialSection .blogSocialSectionItem{padding-bottom:5px}.fb-like{display:block;margin-bottom:20px;width:100%}.more-users{margin:0 auto;max-width:560px;text-align:center}.productShowcaseSection{padding:0 20px;text-align:center}.productShowcaseSection.paddingTop{padding-top:20px}.productShowcaseSection.paddingBottom{padding-bottom:80px}.productShowcaseSection h2{color:#222;font-size:30px;line-height:1em;margin-top:20px;padding:10px 0;text-align:center}.productShowcaseSection p{margin:0 auto;max-width:560px;padding:.8em 0}.productShowcaseSection .logos{align-items:center;display:flex;flex-flow:row wrap;justify-content:center;padding:20px}.productShowcaseSection .logos img{max-height:110px;padding:20px;width:110px}@media only screen and (max-width:735px){.productShowcaseSection .logos img{max-height:64px;padding:20px;width:64px}}.showcaseSection{margin:0 auto;max-width:900px}.showcaseSection,.showcaseSection .prose h1{text-align:center}.showcaseSection .prose{margin:0 auto;max-width:560px;text-align:center}.showcaseSection .logos{align-items:center;display:flex;flex-flow:row wrap;justify-content:center}.showcaseSection .logos img{max-height:128px;padding:20px;width:128px}@media only screen and (max-width:735px){.showcaseSection .logos img{max-height:64px;padding:20px;width:64px}}.nav-footer{background:#20232a;border:none;color:#202020;font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:24px;padding-bottom:2em;padding-top:2em;position:relative}@media only screen and (min-width:1024px){.nav-footer{flex-shrink:0}}.nav-footer .sitemap{display:flex;justify-content:space-between;margin:0 auto 3em;max-width:1080px}.nav-footer .sitemap div{flex:1}.nav-footer .sitemap .nav-home{display:table;height:72px;margin:-12px 20px 0 0;opacity:.4;padding:10px;transition:opacity .15s ease-in-out;width:72px}.nav-footer .sitemap .nav-home:focus,.nav-footer .sitemap .nav-home:hover{opacity:1}@media only screen and (max-width:735px){.nav-footer .sitemap{display:flex;flex-direction:column;margin:0 2em 3em;width:calc(100% - 4em)}.nav-footer .sitemap>div{margin-bottom:18px}}.nav-footer .sitemap a{color:hsla(0,0%,100%,.6);display:block;margin:2px -10px;padding:3px 10px}.nav-footer .sitemap a:focus,.nav-footer .sitemap a:hover,.nav-footer .sitemap h5>a:focus,.nav-footer .sitemap h5>a:hover{color:#fff;text-decoration:none}.nav-footer .sitemap h5,.nav-footer .sitemap h6{margin:0 0 10px}.nav-footer .sitemap h5,.nav-footer .sitemap h5>a,.nav-footer .sitemap h6,.nav-footer .sitemap h6>a{color:#fff}.nav-footer .sitemap h5>a,.nav-footer .sitemap h6>a{margin:0 -10px}.nav-footer .fbOpenSource{display:block;margin:1em auto;opacity:.4;transition:opacity .15s ease-in-out;width:170px}.nav-footer .fbOpenSource:hover{opacity:1}.nav-footer .copyright{color:hsla(0,0%,100%,.4);text-align:center}.nav-footer .social{padding:5px 0}.web-player{margin-bottom:1em}.web-player>iframe,.web-player>pre{display:none}.web-player.desktop>iframe,.web-player.mobile>pre{display:block}.token.keyword{color:#1990b8}.token.regex,.token.string{color:#2f9c0a}.token.boolean,.token.number{color:#c92c2c}.token.comment{color:#7d8b99}.props{background-color:#ebf9ff}.compactProps{border-left:2px solid #e0f6ff;margin-left:20px;padding-left:5px}.props>.prop:nth-child(2n){background-color:#e0f6ff}.propTitle{font-weight:700!important;font-size:16px!important}.compactProps .propTitle{font-size:14px;margin-bottom:0;margin-top:0}.compactProps .propTitle div{font-weight:400;margin-left:20px}.methodTitle{font-weight:700!important;font-size:24px!important;color:#025268!important}.compactProps .methodTitle{font-size:14px;margin-bottom:0;margin-top:0}.compactProps .methodTitle div{font-weight:400;margin-left:20px}.prop{word-wrap:break-word;padding:5px 10px}.compactProps .prop{padding:3px 10px}.propType{font-family:source-code-pro,Menlo,Courier New,Consolas,monospace;font-weight:400;font-size:15px;white-space:pre-wrap}.compactProps .propType{font-weight:400;font-size:13px}.methodType{font-weight:400;font-size:24px}.compactProps .methodType{font-weight:400;font-size:13px}.botActions{background-color:#ebf9ff}.botActions>.botAction:nth-child(2n){background-color:#e0f6ff}.botCommand{font-family:source-code-pro,Menlo,Courier New,Consolas,monospace;font-weight:700;color:#025268}.botAction{padding:5px 10px}.botMentionName{font-weight:400}hr{height:1px;margin-bottom:-1px;border:none;border-bottom:1px solid #ececec;margin-top:40px}table{background:#ebf9ff;border:1px solid #b0b0b0;border-collapse:collapse;display:table;margin:20px 0;width:80%}table thead{display:table-header-group}table tbody{display:table-row-group}table tr{display:table-row}table tr:nth-of-type(odd){background:#ebf9ff}table tr:nth-of-type(2n){background:#e0f6ff}table tr td,table tr th{border-right:1px dotted #b0b0b0;display:table-cell;font-size:14px;line-height:1.3em;padding:10px;text-align:left}table tr td:last-of-type,table tr th:last-of-type{border-right:0}table tr td code,table tr th code{display:inline-block;font-size:12px}table tr th{color:#000;font-weight:700;font-family:Helvetica Neue,Arial,sans-serif;text-transform:uppercase}table tr th:first-of-type{width:60%}table tr th:nth-of-type(4){width:80%}footer .sitemap h5>a,footer .sitemap h6,footer .sitemap h6>a{color:#05a5d1}footer.nav-footer{background-color:#012129}footer.nav-footer .nav-home img{height:auto;width:34px}.hero .button{background:linear-gradient(#9a9a9a,#646464);border-radius:4px;padding:8px 16px;font-size:18px;font-weight:300;margin:0 12px;display:inline-block;color:#fafafa;text-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:1px 3px 3px rgba(0,0,0,.3)}.button:hover,.hero .button{text-decoration:none}.button:active{box-shadow:none}.button.blue{background:linear-gradient(#77a3d2,#4783c2)}@media only screen and (max-device-width:1024px){.hero{padding:10px 0 30px}}.hero{background:#2d2d2d;padding:50px 0;color:#fdf3e7;text-align:center}.hero .text{font-size:300%;text-align:center}.hero .minitext{font-size:24px;text-align:center}@media only screen and (max-width:680px){.hero .text{font-size:200%;text-align:center}.hero .minitext{font-size:18px;text-align:center}}.buttons-unit{margin-top:40px}.buttons-unit a{color:#fff}.buttons-unit .button{background:#05a5d1;color:#fafafa}@media screen and (min-width:600px){.buttons-unit .button{font-size:24px}}.buttons-unit .button:active{background:#0485a9}@media screen and (max-width:373px){.hero .buttons-unit .button{margin-bottom:4px}}body{background-color:#f5fcff}.headerTitle{font-weight:300!important}.mainContainer{background-color:#f5fcff!important}@media only screen and (min-width:1024px){.mainContainer{margin-left:20px}}@media only screen and (min-width:736px){.docsNavContainer{width:240px}}.mainContainer h1,.mainContainer h2,.mainContainer h3,.mainContainer h4,.mainContainer h5,.mainContainer h6{color:#005068!important}a{color:#05a5d1}input#search_input_react{background-color:#2f2f2f}.button{color:#005068;border:1px solid #005068}.button:hover{background:#005068}.hero{box-sizing:border-box}.hero .button{text-transform:none}code{color:#005068!important}.mainContainer .component-grid{max-width:800px}.mainContainer .component{border:1px solid #05a5d1;border-radius:3px;margin:0 auto 10px;width:100%;display:inline-block;background-color:#fff}.mainContainer .component-grid .component h3{font-size:16px;font-weight:400;margin:0;padding:0 10px;background-color:#05a5d1;color:#fff;line-height:40px}.mainContainer .component h3 a{color:#fff}.mainContainer .component p{padding:10px;margin:2px}@supports (display:grid){.mainContainer .component-grid{display:grid;grid-gap:22px}}@media only screen and (min-device-width:768px){.mainContainer .component-grid{width:768px}.mainContainer .component-grid.component-grid-border{border-bottom:1px solid #f1eff0}.mainContainer .component{width:30%;height:150px;margin:0 22px 22px auto;vertical-align:top}@supports (display:grid){.mainContainer .component-grid{grid-template-columns:repeat(3,1fr)}.mainContainer .component{width:auto;height:auto;margin:0}}}.wrapper{max-width:1200px}.container{max-width:900px}.container .wrapper h2{font-size:31px}.container .wrapper .hljs{margin:14px 0}.pageContainer .container{margin:40px auto}.big-button,p{font-size:18px}.big-button{text-align:center;background:#05a5d1;border-radius:4px;padding:12px 16px;font-weight:300;margin:0 12px;display:inline-block;color:#fafafa;text-decoration:none;text-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:1px 3px 3px rgba(0,0,0,.3);transition:background .3s,color .3s}.big-button:hover{background:#005068;color:#fff}.big-button a{color:#fff}.big-button:active{background:#0485a9}@media screen and (min-width:600px){.big-button{font-size:24px}}@media screen and (max-width:373px){.big-button{margin-bottom:4px}}.prose h1{padding:0}.prose{max-width:800px}.hljs{line-height:20px;background-color:rgba(5,165,209,.05)}.hljs+.hljs{margin-top:10px}table.versions{width:60%;border:0;border-collapse:separate}table.versions tr th{width:20%}table.versions td,table.versions th{padding:2px 5px}table.versions tr td,table.versions tr th{border:0;width:33%;padding:5px}table.versions tr:nth-of-type(odd){background:#e0f6ff}table.versions tr:nth-of-type(2n){background:#ebf9ff}article iframe{max-width:120%}.codepen{width:1000px;padding:20px 0;margin-left:-100px}@media only screen and (min-device-width:320px) and (max-device-width:480px){.codepen{width:100%;margin-left:auto}article iframe{max-width:100%}}.showcaseSection .inner-content{width:800px}@media only screen and (max-device-width:840px){.showcaseSection .inner-content{width:100%}}.home-showcase-section{max-width:800px;margin:20px auto;text-align:center;padding-bottom:40px}.home-showcase-section p{max-width:560px;margin:0 auto}.footnote{font-size:12px;color:rgba(0,0,0,.4)}.home-showcase-section h2{font-size:31px;line-height:40px;margin:10px 0}.home-showcase-section .showcase img{width:100px;height:100px;border-radius:20px}.showcaseHeader{padding-bottom:15px;padding-top:15px;text-align:center}.showcase{margin:30px auto;width:50%;display:inline-block;text-align:center;vertical-align:top}@media only screen and (min-device-width:1024px){.showcase{width:25%}}.showcase h3{margin-bottom:0;line-height:20px;padding-left:5px;padding-right:5px;padding-bottom:0!important;font-size:16px}.showcase p{margin-top:5px;padding-top:0!important}.showcase h3,.showcase p{color:#484848}@media only screen and (min-device-width:736px){.showcaseSection .showcase img{width:100px}}.showcaseSection .showcase img{height:100px;border-radius:20px}.showcaseSection .logos img{padding:0}.pinned img{width:150px;border-radius:20px}.toggler{margin-bottom:1em}.toggler li{display:inline-block;position:relative;top:1px;padding:10px!important;margin:0 2px!important;border:1px solid #05a5d1;border-bottom-color:transparent;border-radius:3px 3px 0 0;background-color:transparent;font-size:.99em;cursor:pointer}.toggler li:first-child{margin-left:0!important}.toggler li:last-child{margin-right:0!important}.toggler ul{width:100%;display:inline-block;list-style-type:none;padding:0!important;margin:0!important;border-bottom:1px solid #05a5d1;cursor:default}@media screen and (max-width:960px){.toggler li,.toggler li:first-child,.toggler li:last-child{display:block;border-bottom-color:#05a5d1;border-radius:3px;margin:2px 0}.toggler ul{border-bottom:0}}.toggler a{display:inline-block;padding:10px 5px;margin:2px;border:1px solid #05a5d1;border-radius:3px;text-decoration:none!important;color:#05a5d1} \ No newline at end of file +a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}body{color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;word-wrap:break-word}*{box-sizing:border-box}b,strong{font-weight:600}em,i{font-style:italic}[type=checkbox]{box-sizing:border-box;padding:0}a,a:hover{color:#222;text-decoration:none}a:active,a:hover{outline-width:0}a:not([href]){color:inherit;text-decoration:none}p{margin-bottom:1em;margin-top:0}h1,h2,h3,h4,h5,h6{color:inherit;font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:1.5em}h1{font-size:32px}h2{font-size:24px}h3{font-size:20px}h4{font-size:16px}h5{font-size:14px}h6{font-size:13.6px}ol,ul{margin-bottom:1em;margin-top:0;padding-left:2em}ol ol,ul ol{list-style-type:lower-roman}ol ol,ol ul,ul ol,ul ul{margin-bottom:0;margin-top:0}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}li{word-wrap:break-all}li>p{margin-top:1em}li+li{margin-top:.25em}img{border-style:none;box-sizing:content-box;max-width:100%}img[align=right]{padding-left:1.25em}img[align=left]{padding-right:1.25em}table{border-spacing:0;display:block;margin-bottom:16px;margin-top:0;overflow:auto;width:100%}table tr{background-color:transparent;border-top:1px solid #dfe2e5}table tr:nth-child(2n){background-color:#f6f8fa}table td,table th{border:1px solid #dfe2e5;padding:6px 13px}table th{background-color:inherit;font-weight:600}table td,table th{color:inherit}blockquote{color:#6a737d;font-size:16px;margin:0;margin-bottom:16px;padding:0 1em}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}code{background-color:rgba(27,31,35,.05);border-radius:3px;color:inherit;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:85%;margin:0;padding:3.2px 6.4px}pre{margin-bottom:16px}pre code{background-color:transparent;border:0;display:inline;font-size:85%;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;white-space:pre;word-break:normal;word-wrap:normal}kbd{background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:68.75%;line-height:10px;padding:3px 5px;vertical-align:middle}hr{border:1px solid #dfe2e5;box-sizing:content-box;margin:1.5em 0;overflow:hidden;padding:0}hr:after,hr:before{content:"";display:table}hr:after{clear:both}body{min-height:100vh;text-rendering:optimizeLegibility}@media only screen and (min-width:736px){body{display:flex;flex-direction:column}}article:after,article:before{content:"";display:table}article:after{clear:both}article>:first-child{margin-top:0}article>:last-child{margin-bottom:0}article iframe,article p img{display:block;margin-left:auto;margin-right:auto;max-width:100%}.anchor{display:block;position:relative;top:-80px}.hash-link{line-height:1;margin-left:-20px;opacity:0;padding-right:4px;transition:opacity .3s}.hash-link:hover{opacity:1!important;transition:none}.hash-link .hash-link-icon{vertical-align:middle}.button{border:1px solid #222;border-radius:3px;color:#222;display:inline-block;font-size:14px;font-weight:400;line-height:1.2em;padding:10px;text-decoration:none!important;text-transform:uppercase;transition:background .3s,color .3s}.button:hover{background:#222;color:#fff}h1:hover .hash-link,h2:hover .hash-link,h3:hover .hash-link,h4:hover .hash-link{opacity:.5;transition:none}blockquote{background-color:rgba(255,229,100,.3);border-left:8px solid #ffe564;padding:15px 30px 15px 15px}.wrapper{margin:0 auto;max-width:1100px;padding:0 20px}.wrapper blockquote>p:first-child{padding-top:0}.center{display:block}.center,.homeContainer{text-align:center}.homeContainer .homeWrapper{padding:2em 10px}.homeContainer .homeWrapper .wrapper{margin:0 auto;max-width:900px;padding:0 20px}.homeContainer .homeWrapper .projectLogo img{height:100px;margin-bottom:0}.homeContainer .homeWrapper #project_title{font-size:300%;letter-spacing:-.08em;line-height:1em;margin-bottom:80px}.homeContainer .homeWrapper #project_tagline{font-size:200%;letter-spacing:-.04em;line-height:1em}.projectLogo{display:none;pointer-events:none}.projectLogo img{height:100px;margin-bottom:0}.projectIntro{margin:40px 0}.projectTitle{color:#222;font-size:250%;line-height:1em}.projectTitle>small{display:block;font-weight:400;font-size:50%;line-height:1em;margin:.7em 0 1.3em}@media only screen and (min-width:480px){.projectTitle{font-size:300%;margin:.3em 0}.projectLogo img{height:200px;margin-bottom:10px}.homeContainer .homeWrapper{padding-left:10px;padding-right:10px}}@media only screen and (min-width:736px){.homeContainer .homeWrapper{position:relative}.homeContainer .homeWrapper #inner{max-width:600px;padding-right:40px}}@media only screen and (min-width:1200px){.homeContainer .homeWrapper #inner{max-width:750px}.homeContainer .homeWrapper .projectLogo{align-items:center;bottom:0;display:flex;justify-content:flex-end;left:0;padding:2em 100px 4em;position:absolute;right:0;top:0}.homeContainer .homeWrapper .projectLogo img{height:100%;max-height:250px}}@media only screen and (min-width:1500px){.homeContainer .homeWrapper #inner{max-width:1100px;padding-bottom:40px;padding-top:40px}.wrapper{max-width:1400px}}.mainContainer{flex:1 1 auto;max-width:100%;padding:48px 0}.mainContainer .wrapper{text-align:left}.mainContainer .wrapper .allShareBlock{padding:10px 0}.mainContainer .wrapper .allShareBlock .pluginBlock{margin:12px 0;padding:0}.mainContainer .wrapper .post{position:relative}.mainContainer .wrapper .post.basicPost{margin-top:30px}.mainContainer .wrapper .post .postHeader{margin-bottom:16px}.mainContainer .wrapper .post .postHeaderTitle{margin-top:0;padding:0}.mainContainer .wrapper .post .postSocialPlugins{padding-top:1em}.mainContainer .wrapper .post .docPagination{background:#222;bottom:0;left:0;position:absolute;right:0}.mainContainer .wrapper .post .docPagination .pager{display:inline-block;width:50%}.mainContainer .wrapper .post .docPagination .pagingNext{float:right;text-align:right}.mainContainer .wrapper .post .docPagination a{border:none;color:#fff;display:block;padding:4px 12px}.mainContainer .wrapper .post .docPagination a:hover{background-color:#f9f9f9;color:#393939}.mainContainer .wrapper .post .docPagination a .pagerLabel{display:inline}.mainContainer .wrapper .post .docPagination a .pagerTitle{display:none}@media only screen and (min-width:480px){.mainContainer .wrapper .post .docPagination a .pagerLabel{display:none}.mainContainer .wrapper .post .docPagination a .pagerTitle{display:inline}}@media only screen and (min-width:1024px){.mainContainer .wrapper .post{display:block}.mainContainer .wrapper .posts .post{width:100%}}.fixedHeaderContainer{background:#222;color:#fff;min-height:50px;padding:8px 0;position:fixed;width:100%;z-index:9999}@media only screen and (min-width:1024px){.fixedHeaderContainer{flex-shrink:0}}.fixedHeaderContainer a{align-items:center;border:0;color:#fff;display:flex;flex-flow:row nowrap;height:34px;z-index:10000}.fixedHeaderContainer header{display:flex;flex-flow:row nowrap;position:relative;text-align:left}.fixedHeaderContainer header img{height:100%;margin-right:10px}.fixedHeaderContainer header .headerTitle{font-size:1.25em;margin:0}.fixedHeaderContainer header .headerTitleWithLogo{display:block;font-size:1.25em;line-height:18px;margin:0;position:relative;z-index:9999}.fixedHeaderContainer header h3{color:#fff;font-size:16px;margin:0;margin-left:10px;text-decoration:underline}@media (max-width:480px){.headerTitle{font-size:17px}.headerTitleWithLogo{display:none!important}}.promoSection{display:flex;flex-flow:column wrap;font-size:125%;line-height:1.6em;position:relative;z-index:99}.promoSection .promoRow{padding:10px 0}.promoSection .promoRow .pluginWrapper{display:block}.promoSection .promoRow .pluginWrapper.ghStarWrapper,.promoSection .promoRow .pluginWrapper.ghWatchWrapper{height:28px}.promoSection .promoRow .pluginRowBlock{display:flex;flex-wrap:wrap;justify-content:center;margin:0 -2px}.promoSection .promoRow .pluginRowBlock .pluginWrapper{padding:0 2px}.promoSection .promoRow .pluginRowBlock iframe{margin-left:2px;margin-top:5px}input[type=search]{-moz-appearance:none;-webkit-appearance:none}.navSearchWrapper{align-items:center;align-self:center;display:flex;justify-content:center;padding-left:10px;position:absolute;right:10px;top:15px}.navSearchWrapper:before{border:3px solid #e5e5e5;border-radius:50%;content:" ";display:block;height:6px;left:15px;position:absolute;top:50%;-webkit-transform:translateY(-58%);transform:translateY(-58%);width:6px;z-index:1}.navSearchWrapper:after{background:#e5e5e5;content:" ";height:7px;left:24px;position:absolute;top:55%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);width:3px;z-index:1}.navSearchWrapper .aa-dropdown-menu{background:#f9f9f9;border:3px solid rgba(57,57,57,.25);color:#393939;font-size:14px;left:auto!important;line-height:1.2em;right:0!important}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--category-header{background:#222;color:#fff;font-size:14px;font-weight:400}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--highlight{background-color:#222;color:#fff}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight,.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--title .algolia-docsearch-suggestion--highlight{color:#222}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--subcategory-column,.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion__secondary{border-color:rgba(57,57,57,.3)}input#search_input_react{background-color:rgba(0,0,0,.2);border:none;border-radius:20px;color:#fff;font-size:14px;font-weight:300;line-height:20px;outline:none;padding-left:25px;position:relative;transition:width .5s ease;width:170px}input#search_input_react:active,input#search_input_react:focus{color:#fff;width:220px}@media only screen and (max-width:735px){.navSearchWrapper{width:40%}}input::-webkit-input-placeholder{color:#e5e5e5}input:-ms-input-placeholder{color:#e5e5e5}input::-ms-input-placeholder{color:#e5e5e5}input::placeholder{color:#e5e5e5}.hljs{padding:1.25rem 1.5rem}.gridBlock{padding:0}.gridBlock>*{box-sizing:border-box}.gridBlock .fourByGridBlock img,.gridBlock .threeByGridBlock img,.gridBlock .twoByGridBlock img{max-width:100%}.gridBlock .gridClear{clear:both}@media only screen and (max-width:735px){.gridBlock .fourByGridBlock{flex:1 0 26%}}@media only screen and (min-width:736px){.gridBlock{display:flex;flex-direction:row;flex-wrap:wrap}.gridBlock>*{margin:0 12px}.gridBlock>:first-child{margin-left:0}.gridBlock>:last-child{margin-right:0}.gridBlock .twoByGridBlock{flex:1 0 40%}.gridBlock .threeByGridBlock{flex:1 0 26%}.gridBlock .fourByGridBlock{flex:1 0 20%}h2+.gridBlock{padding-top:20px}}@media only screen and (min-width:1400px){.gridBlock{display:flex;flex-direction:row;flex-wrap:wrap}}.alignCenter{text-align:center}.alignRight{text-align:right}.imageAlignSide{display:flex;flex-flow:row wrap}.blockImage{max-width:730px}.imageAlignSide .blockImage{flex:0 1 500px;max-width:500px}@media only screen and (max-width:735px){.imageAlignSide .blockImage{display:none}}.imageAlignSide .blockContent{flex:1 1}.imageAlignBottom .blockImage{margin:0 auto 20px;max-width:730px}.imageAlignBottom.alignCenter .blockImage{margin-left:auto;margin-right:auto}.imageAlignTop .blockImage{margin-bottom:20px;max-width:80px}.imageAlignTop.alignCenter .blockImage{margin-left:auto;margin-right:auto}.imageAlignRight .blockImage{margin-left:40px}.imageAlignLeft .blockImage{margin-right:40px}.container .gridBlock .blockContent p{padding:0}.container .wrapper .alignCenter h2{text-align:center}.container .wrapper .imageAlignSide h2{text-align:left}.container .wrapper .imageAlignSide p{margin:0;margin-bottom:40px;max-width:560px}.highlightBackground{background:rgba(153,66,79,.7);color:#fff}.highlightBackground a{font-weight:800}.container.highlightBackground .wrapper h1,.container.highlightBackground .wrapper h2,.container.highlightBackground .wrapper h3,.container.highlightBackground .wrapper h4,.container.highlightBackground .wrapper h5,.highlightBackground a{border-color:#fff;color:#fff}.lightBackground{background:#f7f7f7}.darkBackground{background:gray;color:#fff}.darkBackground a,.darkBackground code{color:#d6b3b8}.container.darkBackground .wrapper h1,.container.darkBackground .wrapper h2,.container.darkBackground .wrapper h3,.container.darkBackground .wrapper h4,.container.darkBackground .wrapper h5{border-color:#fff;color:#fff}.container.paddingAll{padding:40px}.container.paddingBottom{padding-bottom:80px}.container.paddingLeft{padding-left:40px}.container.paddingRight{padding-right:40px}.container.paddingTop{padding-top:80px}@media only screen and (max-width:735px){.container.paddingBottom{padding-bottom:40px}.container.paddingTop{padding-top:20px}}@media only screen and (max-width:1023px){.responsiveList .blockContent{position:relative}.responsiveList .blockContent>div{padding-left:20px}.responsiveList .blockContent:before{content:"\2022";position:absolute}}.navigationSlider .navSlideout{cursor:pointer;padding-top:4px;position:absolute;right:10px;top:0;transition:top .3s;z-index:101}.navigationSlider .slidingNav{bottom:auto;box-sizing:border-box;left:0;position:fixed;right:0;top:0}.navigationSlider .slidingNav.slidingNavActive{height:auto;padding-top:42px;width:300px}.navigationSlider .slidingNav ul{background:#05a5d1;box-sizing:border-box;color:#fff;display:flex;flex-wrap:nowrap;list-style:none;margin-top:50px;padding:0;width:100%}.navigationSlider .slidingNav.slidingNavActive ul{display:block}.navigationSlider .slidingNav ul li{flex:1 1 auto;margin:0;text-align:center;white-space:nowrap}.navigationSlider .slidingNav ul li a{align-items:center;box-sizing:border-box;color:#222;color:inherit;display:flex;font-size:.9em;height:auto;height:50px;justify-content:center;margin:0;padding:10px;transition:background-color .3s}.navigationSlider .slidingNav ul li.siteNavGroupActive a,.navigationSlider .slidingNav ul li.siteNavItemActive a,.navigationSlider .slidingNav ul li a:focus,.navigationSlider .slidingNav ul li a:hover{background:#222}.languages-icon{width:20px}#languages-dropdown{pointer-events:none;position:absolute;width:100%}#languages-dropdown.visible{display:flex}#languages-dropdown.hide{display:none}#languages-dropdown-items{background-color:#222;display:flex;flex-direction:column;min-width:120px;pointer-events:all}#languages li{display:block}.navPusher{left:0;min-height:100%;padding-top:100px;position:relative;z-index:99}.navPusher:after{background:rgba(0,0,0,.4);content:"";height:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .5s,width .1s .5s,height .1s .5s;width:0}@media screen and (min-width:1024px){.navPusher{display:flex;flex-direction:column;min-height:calc(100vh - 50px);padding-top:50px}.navPusher,.navPusher>:first-child{flex-grow:1}}.sliderActive .navPusher:after{height:100%;opacity:1;transition:opacity .5s;width:100%;z-index:100}@media only screen and (max-width:1024px){.reactNavSearchWrapper input#search_input_react{background-color:hsla(17,71%,82%,.25);border:none;border-radius:20px;box-sizing:border-box;color:#393939;font-size:14px;line-height:20px;outline:none;padding-left:25px;position:relative;transition:background-color .2s cubic-bezier(.68,-.55,.265,1.55),width .2s cubic-bezier(.68,-.55,.265,1.55),color .2s ease;width:100%}.reactNavSearchWrapper input#search_input_react:active,.reactNavSearchWrapper input#search_input_react:focus{background-color:#222;color:#fff}.reactNavSearchWrapper .algolia-docsearch-suggestion--subcategory-inline{display:none}.reactNavSearchWrapper>span{width:100%}.reactNavSearchWrapper .aa-dropdown-menu{background:#f9f9f9;border:0 solid #f9f9f9;border-radius:0;color:#393939;font-size:12px;line-height:2em;max-height:140px;min-width:auto;-webkit-overflow-scrolling:touch;overflow-y:scroll;padding:0;position:relative!important;width:100%}#languages-dropdown{left:0;top:50px}#languages-dropdown-items{background-color:#222;display:flex;flex-direction:row}}@media only screen and (min-width:1024px){.navSearchWrapper{padding-left:10px;position:relative;right:auto;top:auto}.navSearchWrapper .algolia-autocomplete{display:block}.navigationSlider{height:34px;margin-left:auto;position:relative}.navigationSlider .navSlideout{display:none}.navigationSlider nav.slidingNav{background:none;height:auto;position:relative;right:auto;top:auto;width:auto}.navigationSlider .slidingNav ul{background:none;display:flex;flex-flow:row nowrap;margin:0;padding:0;width:auto}.navigationSlider .slidingNav ul li a{border:0;color:hsla(0,0%,100%,.8);display:flex;font-size:16px;font-size:1em;font-weight:300;height:32px;line-height:1.2em;margin:0;padding:0;padding:6px 10px}.navigationSlider .slidingNav ul li.siteNavGroupActive a,.navigationSlider .slidingNav ul li.siteNavItemActive a,.navigationSlider .slidingNav ul li a:hover{color:#fff}}@media only screen and (max-width:735px){.navigationSlider .slidingNav ul{overflow-x:auto}.navigationSlider .slidingNav ul::-webkit-scrollbar{display:none}}.docMainWrapper .wrapper{padding-left:0;padding-right:0;padding-top:10px}@media only screen and (min-width:1024px){.docMainWrapper{width:100%}.docMainWrapper>*{margin:0 24px}.docMainWrapper>:first-child{margin-left:0}.docMainWrapper>:last-child{margin-right:0}.docMainWrapper .mainContainer{min-width:0}}.edit-page-link{float:right;font-size:10px;font-weight:400;margin-top:3px;text-decoration:none}@media only screen and (max-width:1023px){.edit-page-link{display:none}}.docs-prevnext{margin:20px 0}.docs-prevnext:after{clear:both;content:" ";display:table}.docs-next{float:right}.docs-prev{float:left}@media only screen and (max-width:735px){.docs-prevnext{height:40px}}@media only screen and (max-width:1023px){.docsNavContainer{background:#fff;left:0;position:fixed;width:100%;z-index:100}}@media only screen and (min-width:1024px){.docsNavContainer{flex:0 0 240px;height:calc(100vh - 50px);position:-webkit-sticky;position:sticky;overflow-y:auto;top:50px}}.docsSliderActive.docsNavContainer{box-sizing:border-box;height:100%;-webkit-overflow-scrolling:touch;overflow-y:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;padding-bottom:50px}.docsNavContainer .toc .navBreadcrumb{background-color:#f1f1f1;box-sizing:border-box;display:flex;flex-flow:row nowrap;font-size:12px;height:48px;overflow:hidden;padding:8px 20px}.docsNavContainer .toc .navWrapper{padding:0}@media only screen and (min-width:1024px){.docsNavContainer .toc .navBreadcrumb{display:none}.navBreadcrumb h2{padding:0 10px}.separateOnPageNav .docsNavContainer{flex:0 0 240px}}.navBreadcrumb a,.navBreadcrumb span{border:0;color:#393939}@media only screen and (max-width:735px){.anchor{top:-144px}}@media only screen and (min-width:1024px){.toc{padding:40px 0}}.toc section{padding:0;position:relative}.toc section .navGroups{display:none;padding:48px 20px 60px}.toc .toggleNav{color:#393939;position:relative}.toc .toggleNav .navToggle{cursor:pointer;height:32px;margin-right:10px;position:relative;text-align:left;width:18px}.toc .toggleNav .navToggle:after,.toc .toggleNav .navToggle:before{border:5px solid #393939;border-width:5px 0;content:"";height:6px;left:0;left:8px;margin-top:-8px;position:absolute;top:50%;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:3px;z-index:1}.toc .toggleNav .navToggle:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.toc .toggleNav .navToggle i:after,.toc .toggleNav .navToggle i:before{background:transparent;border-color:transparent #393939;border-style:solid;border-width:0 5px 5px;content:"";height:0;left:2px;margin-top:-7px;opacity:1;position:absolute;top:50%;width:5px;z-index:10}.toggleNav h2 i{padding:0 4px}.toc .toggleNav .navToggle i:after{border-width:5px 5px 0;margin-top:2px}.docsSliderActive .toc .toggleNav .navToggle:after,.docsSliderActive .toc .toggleNav .navToggle:before{border-width:8px 0;height:0;margin-top:-8px}.docsSliderActive .toc .toggleNav .navToggle i{opacity:0}.docsSliderActive .tocToggler{visibility:hidden}.toc .toggleNav .navGroup{margin-bottom:16px}.toc .toggleNav .navGroup .navGroupCategoryTitle{color:#393939;font-size:18px;font-weight:500;line-height:1.2em;margin-bottom:8px;margin-top:0}.toc .toggleNav .navGroup .navListItem{margin:0}.toc .toggleNav .navGroup h3 i:not(:empty){box-sizing:border-box;color:rgba(57,57,57,.5);display:inline-block;height:16px;margin-right:10px;text-align:center;transition:color .2s;width:16px}.toc .toggleNav ul{padding:0 8px}.docsSliderActive .toc .toggleNav ul{padding-left:0}.toc .toggleNav ul li{list-style-type:none;padding:0}.toc .toggleNav ul li a{border:none;color:#717171;display:block;font-size:14px;padding:4px 0;transition:color .3s}.toc .toggleNav ul li.navListItemActive a,.toc .toggleNav ul li a:focus,.toc .toggleNav ul li a:hover{color:#222}.docsSliderActive .toc .navBreadcrumb,.tocActive .navBreadcrumb{border-bottom:1px solid #ccc;margin-bottom:20px;position:fixed;width:100%}.toc .toggleNav .navBreadcrumb h2{border:0;flex-grow:1;font-size:16px;font-weight:600;line-height:32px;margin:0;padding:0}.docsSliderActive .toc section .navGroups{display:block;padding-top:60px}.tocToggler{cursor:pointer;height:32px;line-height:32px;margin-right:-10px;padding:0 10px}.icon-toc{box-sizing:border-box;display:inline-block;line-height:normal;position:relative;top:-1px;vertical-align:middle}.icon-toc,.icon-toc:after,.icon-toc:before{background-color:currentColor;border:1px solid currentColor;border-radius:50%;box-sizing:border-box;height:4px;width:4px}.icon-toc:after,.icon-toc:before{content:"";position:absolute}.icon-toc:before{left:-1px;top:-7px}.icon-toc:after{left:-1px;top:5px}.tocActive .icon-toc{border-radius:0;height:16px;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:3px}.tocActive .icon-toc:before{border-radius:0;height:3px;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:16px}.tocActive .icon-toc:after{content:""}@media only screen and (min-width:1024px){.docMainWrapper{display:flex;flex-flow:row nowrap}.docMainWrapper .wrapper{padding-top:0;padding-left:0;padding-right:0}}.onPageNav{display:none}.onPageNav::-webkit-scrollbar{display:none}.onPageNav a{color:#717171}.onPageNav ul{list-style:none}.onPageNav ul li{font-size:12px;line-height:16px;padding-bottom:8px}.onPageNav ul ul{padding:8px 0 0 20px}.onPageNav ul ul li{padding-bottom:5px}@media only screen and (min-width:1024px){.toc section .navGroups{display:block;padding:0;padding-top:8px}.navBreadcrumb h2{padding:0 10px}}@supports ((position: -webkit-sticky) or (position: sticky)){@media only screen and (max-width:1023px){.tocActive .onPageNav{background:#fff;bottom:0;display:block;left:0;overflow-y:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;padding:0 20px;position:fixed;right:0;top:148px;z-index:10}.tocActive .navBreadcrumb h2,.tocActive .navToggle{visibility:hidden}.tocActive .onPageNav>.toc-headings{padding:12px 0}}@media only screen and (min-width:1024px){.separateOnPageNav .headerWrapper.wrapper,.separateOnPageNav .wrapper{max-width:1400px}.separateOnPageNav .toc{width:auto}.separateOnPageNav.sideNavVisible .navPusher .mainContainer{flex:1 auto;max-width:100%;min-width:0}.onPageNav{align-self:flex-start;display:block;flex:0 0 240px;max-height:calc(100vh - 90px);overflow-y:auto;position:-webkit-sticky;position:sticky;top:90px}.onPageNav>.toc-headings{border-left:1px solid #e0e0e0;padding:10px 0 2px 15px}.tocToggler{display:none}}}.blog .wrapper{max-width:1100px}.blogContainer .posts .post{border-bottom:1px solid #e0e0e0;border-radius:3px;margin-bottom:20px;padding-bottom:20px}.blogContainer .postHeader{margin-bottom:10px}.blogContainer .postHeaderTitle{margin-top:0}.blogContainer .postHeader p.post-meta{margin-bottom:10px;padding:0}.blogContainer .postHeader .authorBlock{display:flex}.blogContainer .postHeader .post-authorName{color:rgba(57,57,57,.7);display:flex;flex-direction:column;font-size:14px;font-weight:400;justify-content:center;margin-right:10px;margin-top:0;padding:0}.blogContainer .postHeader .authorPhoto{border-radius:50%;height:30px;overflow:hidden;width:30px}.blogContainer .postHeader .authorPhoto.authorPhotoBig{height:50px;width:50px}.blog-recent{margin:20px 0}.blog-recent>a{float:left}@media only screen and (max-width:735px){.blog-recent{height:40px}}.blogSocialSection{display:block;padding:36px 0}.blogSocialSection .blogSocialSectionItem{padding-bottom:5px}.fb-like{display:block;margin-bottom:20px;width:100%}.more-users{margin:0 auto;max-width:560px;text-align:center}.productShowcaseSection{padding:0 20px;text-align:center}.productShowcaseSection.paddingTop{padding-top:20px}.productShowcaseSection.paddingBottom{padding-bottom:80px}.productShowcaseSection h2{color:#222;font-size:30px;line-height:1em;margin-top:20px;padding:10px 0;text-align:center}.productShowcaseSection p{margin:0 auto;max-width:560px;padding:.8em 0}.productShowcaseSection .logos{align-items:center;display:flex;flex-flow:row wrap;justify-content:center;padding:20px}.productShowcaseSection .logos img{max-height:110px;padding:20px;width:110px}@media only screen and (max-width:735px){.productShowcaseSection .logos img{max-height:64px;padding:20px;width:64px}}.showcaseSection{margin:0 auto;max-width:900px}.showcaseSection,.showcaseSection .prose h1{text-align:center}.showcaseSection .prose{margin:0 auto;max-width:560px;text-align:center}.showcaseSection .logos{align-items:center;display:flex;flex-flow:row wrap;justify-content:center}.showcaseSection .logos img{max-height:128px;padding:20px;width:128px}@media only screen and (max-width:735px){.showcaseSection .logos img{max-height:64px;padding:20px;width:64px}}.nav-footer{background:#20232a;border:none;color:#202020;font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:24px;padding-bottom:2em;padding-top:2em;position:relative}@media only screen and (min-width:1024px){.nav-footer{flex-shrink:0}}.nav-footer .sitemap{display:flex;justify-content:space-between;margin:0 auto 3em;max-width:1080px}.nav-footer .sitemap div{flex:1}.nav-footer .sitemap .nav-home{display:table;height:72px;margin:-12px 20px 0 0;opacity:.4;padding:10px;transition:opacity .15s ease-in-out;width:72px}.nav-footer .sitemap .nav-home:focus,.nav-footer .sitemap .nav-home:hover{opacity:1}@media only screen and (max-width:735px){.nav-footer .sitemap{display:flex;flex-direction:column;margin:0 2em 3em;width:calc(100% - 4em)}.nav-footer .sitemap>div{margin-bottom:18px}}.nav-footer .sitemap a{color:hsla(0,0%,100%,.6);display:block;margin:2px -10px;padding:3px 10px}.nav-footer .sitemap a:focus,.nav-footer .sitemap a:hover,.nav-footer .sitemap h5>a:focus,.nav-footer .sitemap h5>a:hover{color:#fff;text-decoration:none}.nav-footer .sitemap h5,.nav-footer .sitemap h6{margin:0 0 10px}.nav-footer .sitemap h5,.nav-footer .sitemap h5>a,.nav-footer .sitemap h6,.nav-footer .sitemap h6>a{color:#fff}.nav-footer .sitemap h5>a,.nav-footer .sitemap h6>a{margin:0 -10px}.nav-footer .fbOpenSource{display:block;margin:1em auto;opacity:.4;transition:opacity .15s ease-in-out;width:170px}.nav-footer .fbOpenSource:hover{opacity:1}.nav-footer .copyright{color:hsla(0,0%,100%,.4);text-align:center}.nav-footer .social{padding:5px 0}.web-player{margin-bottom:1em}.web-player>iframe,.web-player>pre{display:none}.web-player.desktop>iframe,.web-player.mobile>pre{display:block}.token.keyword{color:#1990b8}.token.regex,.token.string{color:#2f9c0a}.token.boolean,.token.number{color:#c92c2c}.token.comment{color:#7d8b99}.props{background-color:#ebf9ff}.compactProps{border-left:2px solid #e0f6ff;margin-left:20px;padding-left:5px}.props>.prop:nth-child(2n){background-color:#e0f6ff}.propTitle{font-weight:700!important;font-size:16px!important}.compactProps .propTitle{font-size:14px;margin-bottom:0;margin-top:0}.compactProps .propTitle div{font-weight:400;margin-left:20px}.methodTitle{font-weight:700!important;font-size:24px!important;color:#025268!important}.compactProps .methodTitle{font-size:14px;margin-bottom:0;margin-top:0}.compactProps .methodTitle div{font-weight:400;margin-left:20px}.prop{word-wrap:break-word;padding:5px 10px}.compactProps .prop{padding:3px 10px}.propType{font-family:source-code-pro,Menlo,Courier New,Consolas,monospace;font-weight:400;font-size:15px;white-space:pre-wrap}.compactProps .propType{font-weight:400;font-size:13px}.methodType{font-weight:400;font-size:24px}.compactProps .methodType{font-weight:400;font-size:13px}.botActions{background-color:#ebf9ff}.botActions>.botAction:nth-child(2n){background-color:#e0f6ff}.botCommand{font-family:source-code-pro,Menlo,Courier New,Consolas,monospace;font-weight:700;color:#025268}.botAction{padding:5px 10px}.botMentionName{font-weight:400}hr{height:1px;margin-bottom:-1px;border:none;border-bottom:1px solid #ececec;margin-top:40px}table{background:#ebf9ff;border:1px solid #b0b0b0;border-collapse:collapse;display:table;margin:20px 0;width:80%}table thead{display:table-header-group}table tbody{display:table-row-group}table tr{display:table-row}table tr:nth-of-type(odd){background:#ebf9ff}table tr:nth-of-type(2n){background:#e0f6ff}table tr td,table tr th{border-right:1px dotted #b0b0b0;display:table-cell;font-size:14px;line-height:1.3em;padding:10px;text-align:left}table tr td:last-of-type,table tr th:last-of-type{border-right:0}table tr td code,table tr th code{display:inline-block;font-size:12px}table tr th{color:#000;font-weight:700;font-family:Helvetica Neue,Arial,sans-serif;text-transform:uppercase}table tr th:first-of-type{width:60%}table tr th:nth-of-type(4){width:80%}footer .sitemap h5>a,footer .sitemap h6,footer .sitemap h6>a{color:#05a5d1}footer.nav-footer{background-color:#012129}footer.nav-footer .nav-home img{height:auto;width:34px}.hero .button{background:linear-gradient(#9a9a9a,#646464);border-radius:4px;padding:8px 16px;font-size:18px;font-weight:300;margin:0 12px;display:inline-block;color:#fafafa;text-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:1px 3px 3px rgba(0,0,0,.3)}.button:hover,.hero .button{text-decoration:none}.button:active{box-shadow:none}.button.blue{background:linear-gradient(#77a3d2,#4783c2)}@media only screen and (max-device-width:1024px){.hero{padding:10px 0 30px}}.hero{background:#2d2d2d;padding:50px 0;color:#fdf3e7;text-align:center}.hero .text{font-size:300%;text-align:center}.hero .minitext{font-size:24px;text-align:center}@media only screen and (max-width:680px){.hero .text{font-size:200%;text-align:center}.hero .minitext{font-size:18px;text-align:center}}.buttons-unit{margin-top:40px}.buttons-unit a{color:#fff}.buttons-unit .button{background:#05a5d1;color:#fafafa}@media screen and (min-width:600px){.buttons-unit .button{font-size:24px}}.buttons-unit .button:active{background:#0485a9}@media screen and (max-width:373px){.hero .buttons-unit .button{margin-bottom:4px}}body{background-color:#f5fcff}.headerTitle{font-weight:300!important}.mainContainer{background-color:#f5fcff!important}@media only screen and (min-width:1024px){.mainContainer{margin-left:20px}}@media only screen and (min-width:736px){.docsNavContainer{width:240px}}.mainContainer h1,.mainContainer h2,.mainContainer h3,.mainContainer h4,.mainContainer h5,.mainContainer h6{color:#005068!important}a{color:#05a5d1}input#search_input_react{background-color:#2f2f2f}.button{color:#005068;border:1px solid #005068}.button:hover{background:#005068}.hero{box-sizing:border-box}.hero .button{text-transform:none}code{color:#005068!important}.mainContainer .component-grid{max-width:800px}.mainContainer .component{border:1px solid #05a5d1;border-radius:3px;margin:0 auto 10px;width:100%;display:inline-block;background-color:#fff}.mainContainer .component-grid .component h3{font-size:16px;font-weight:400;margin:0;padding:0 10px;background-color:#05a5d1;color:#fff;line-height:40px}.mainContainer .component h3 a{color:#fff}.mainContainer .component p{padding:10px;margin:2px}@supports (display:grid){.mainContainer .component-grid{display:grid;grid-gap:22px}}@media only screen and (min-device-width:768px){.mainContainer .component-grid{width:768px}.mainContainer .component-grid.component-grid-border{border-bottom:1px solid #f1eff0}.mainContainer .component{width:30%;height:150px;margin:0 22px 22px auto;vertical-align:top}@supports (display:grid){.mainContainer .component-grid{grid-template-columns:repeat(3,1fr)}.mainContainer .component{width:auto;height:auto;margin:0}}}.wrapper{max-width:1200px}.container{max-width:900px}.container .wrapper h2{font-size:31px}.container .wrapper .hljs{margin:14px 0}.pageContainer .container{margin:40px auto}.big-button,li,p{font-size:18px}.big-button{text-align:center;background:#05a5d1;border-radius:4px;padding:12px 16px;font-weight:300;margin:0 12px;display:inline-block;color:#fafafa;text-decoration:none;text-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:1px 3px 3px rgba(0,0,0,.3);transition:background .3s,color .3s}.big-button:hover{background:#005068;color:#fff}.big-button a{color:#fff}.big-button:active{background:#0485a9}@media screen and (min-width:600px){.big-button{font-size:24px}}@media screen and (max-width:373px){.big-button{margin-bottom:4px}}.prose h1{padding:0}.prose{max-width:800px}.hljs{line-height:20px;background-color:rgba(5,165,209,.05)}.hljs+.hljs{margin-top:10px}table.versions{width:60%;border:0;border-collapse:separate}table.versions tr th{width:20%}table.versions td,table.versions th{padding:2px 5px}table.versions tr td,table.versions tr th{border:0;width:33%;padding:5px}table.versions tr:nth-of-type(odd){background:#e0f6ff}table.versions tr:nth-of-type(2n){background:#ebf9ff}article iframe{max-width:120%}.codepen{width:1000px;padding:20px 0;margin-left:-100px}@media only screen and (min-device-width:320px) and (max-device-width:480px){.codepen{width:100%;margin-left:auto}article iframe{max-width:100%}}.showcaseSection .inner-content{width:800px}@media only screen and (max-device-width:840px){.showcaseSection .inner-content{width:100%}}.home-showcase-section{max-width:800px;margin:20px auto;text-align:center;padding-bottom:40px}.home-showcase-section p{max-width:560px;margin:0 auto}.footnote{font-size:12px;color:rgba(0,0,0,.4)}.home-showcase-section h2{font-size:31px;line-height:40px;margin:10px 0}.home-showcase-section .showcase img{width:100px;height:100px;border-radius:20px}.showcaseHeader{padding-bottom:15px;padding-top:15px;text-align:center}.showcase{margin:30px auto;width:50%;display:inline-block;text-align:center;vertical-align:top}@media only screen and (min-device-width:1024px){.showcase{width:25%}}.showcase h3{margin-bottom:0;line-height:20px;padding-left:5px;padding-right:5px;padding-bottom:0!important;font-size:16px}.showcase p{margin-top:5px;padding-top:0!important}.showcase h3,.showcase p{color:#484848}@media only screen and (min-device-width:736px){.showcaseSection .showcase img{width:100px}}.showcaseSection .showcase img{height:100px;border-radius:20px}.showcaseSection .logos img{padding:0}.pinned img{width:150px;border-radius:20px}.toggler{margin-bottom:1em}.toggler li{display:inline-block;position:relative;top:1px;padding:10px!important;margin:0 2px!important;border:1px solid #05a5d1;border-bottom-color:transparent;border-radius:3px 3px 0 0;background-color:transparent;font-size:.99em;cursor:pointer}.toggler li:first-child{margin-left:0!important}.toggler li:last-child{margin-right:0!important}.toggler ul{width:100%;display:inline-block;list-style-type:none;padding:0!important;margin:0!important;border-bottom:1px solid #05a5d1;cursor:default}@media screen and (max-width:960px){.toggler li,.toggler li:first-child,.toggler li:last-child{display:block;border-bottom-color:#05a5d1;border-radius:3px;margin:2px 0}.toggler ul{border-bottom:0}}.toggler a{display:inline-block;padding:10px 5px;margin:2px;border:1px solid #05a5d1;border-radius:3px;text-decoration:none!important;color:#05a5d1} \ No newline at end of file diff --git a/docs/0.10/debugging.html b/docs/0.10/debugging.html index 9adf65012f2..929b6e4efd3 100644 --- a/docs/0.10/debugging.html +++ b/docs/0.10/debugging.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.10/debugging/index.html b/docs/0.10/debugging/index.html index 9adf65012f2..929b6e4efd3 100644 --- a/docs/0.10/debugging/index.html +++ b/docs/0.10/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.10/getting-started.html b/docs/0.10/getting-started.html index 36e8d67bbfb..c6d1ce39296 100644 --- a/docs/0.10/getting-started.html +++ b/docs/0.10/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.10/getting-started/index.html b/docs/0.10/getting-started/index.html index 36e8d67bbfb..c6d1ce39296 100644 --- a/docs/0.10/getting-started/index.html +++ b/docs/0.10/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.10/images.html b/docs/0.10/images.html index 59b1f710939..375e95e35d9 100644 --- a/docs/0.10/images.html +++ b/docs/0.10/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.10/images/index.html b/docs/0.10/images/index.html index 59b1f710939..375e95e35d9 100644 --- a/docs/0.10/images/index.html +++ b/docs/0.10/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.10/navigation.html b/docs/0.10/navigation.html index b9e76f7d1aa..18cf72af1f4 100644 --- a/docs/0.10/navigation.html +++ b/docs/0.10/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.10/navigation/index.html b/docs/0.10/navigation/index.html index b9e76f7d1aa..18cf72af1f4 100644 --- a/docs/0.10/navigation/index.html +++ b/docs/0.10/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.10/running-on-device.html b/docs/0.10/running-on-device.html index d2b3561df74..0c65c3a8c3d 100644 --- a/docs/0.10/running-on-device.html +++ b/docs/0.10/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.10/running-on-device/index.html b/docs/0.10/running-on-device/index.html index d2b3561df74..0c65c3a8c3d 100644 --- a/docs/0.10/running-on-device/index.html +++ b/docs/0.10/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.10/signed-apk-android.html b/docs/0.10/signed-apk-android.html index 5135a8539c3..48fbdfcb94a 100644 --- a/docs/0.10/signed-apk-android.html +++ b/docs/0.10/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.10/signed-apk-android/index.html b/docs/0.10/signed-apk-android/index.html
index 5135a8539c3..48fbdfcb94a 100644
--- a/docs/0.10/signed-apk-android/index.html
+++ b/docs/0.10/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.10/understanding-cli.html b/docs/0.10/understanding-cli.html
index bc476fbcf44..b92469ba0ac 100644
--- a/docs/0.10/understanding-cli.html
+++ b/docs/0.10/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.10/understanding-cli/index.html b/docs/0.10/understanding-cli/index.html
index bc476fbcf44..b92469ba0ac 100644
--- a/docs/0.10/understanding-cli/index.html
+++ b/docs/0.10/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.11/debugging.html b/docs/0.11/debugging.html
index 4bc83077a46..7e1d4192834 100644
--- a/docs/0.11/debugging.html
+++ b/docs/0.11/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.11/debugging/index.html b/docs/0.11/debugging/index.html index 4bc83077a46..7e1d4192834 100644 --- a/docs/0.11/debugging/index.html +++ b/docs/0.11/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.11/getting-started.html b/docs/0.11/getting-started.html index 3a29431d724..8ba5ca3edcc 100644 --- a/docs/0.11/getting-started.html +++ b/docs/0.11/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.11/getting-started/index.html b/docs/0.11/getting-started/index.html index 3a29431d724..8ba5ca3edcc 100644 --- a/docs/0.11/getting-started/index.html +++ b/docs/0.11/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.11/images.html b/docs/0.11/images.html index 176ad086fd9..112a783e170 100644 --- a/docs/0.11/images.html +++ b/docs/0.11/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.11/images/index.html b/docs/0.11/images/index.html index 176ad086fd9..112a783e170 100644 --- a/docs/0.11/images/index.html +++ b/docs/0.11/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.11/navigation.html b/docs/0.11/navigation.html index 4a5b8bea5ba..e155ff2dfc2 100644 --- a/docs/0.11/navigation.html +++ b/docs/0.11/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.11/navigation/index.html b/docs/0.11/navigation/index.html index 4a5b8bea5ba..e155ff2dfc2 100644 --- a/docs/0.11/navigation/index.html +++ b/docs/0.11/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.11/running-on-device.html b/docs/0.11/running-on-device.html index 4b58006c633..21f908ceea8 100644 --- a/docs/0.11/running-on-device.html +++ b/docs/0.11/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.11/running-on-device/index.html b/docs/0.11/running-on-device/index.html index 4b58006c633..21f908ceea8 100644 --- a/docs/0.11/running-on-device/index.html +++ b/docs/0.11/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.11/signed-apk-android.html b/docs/0.11/signed-apk-android.html index 61ada7e0149..d1e97383b6d 100644 --- a/docs/0.11/signed-apk-android.html +++ b/docs/0.11/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.11/signed-apk-android/index.html b/docs/0.11/signed-apk-android/index.html
index 61ada7e0149..d1e97383b6d 100644
--- a/docs/0.11/signed-apk-android/index.html
+++ b/docs/0.11/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.11/understanding-cli.html b/docs/0.11/understanding-cli.html
index 5cd3827488a..15e8324f1a1 100644
--- a/docs/0.11/understanding-cli.html
+++ b/docs/0.11/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.11/understanding-cli/index.html b/docs/0.11/understanding-cli/index.html
index 5cd3827488a..15e8324f1a1 100644
--- a/docs/0.11/understanding-cli/index.html
+++ b/docs/0.11/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.12/debugging.html b/docs/0.12/debugging.html
index 704503d9c84..3e72061aced 100644
--- a/docs/0.12/debugging.html
+++ b/docs/0.12/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.12/debugging/index.html b/docs/0.12/debugging/index.html index 704503d9c84..3e72061aced 100644 --- a/docs/0.12/debugging/index.html +++ b/docs/0.12/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.12/getting-started.html b/docs/0.12/getting-started.html index f798bdc03ba..475b90f9604 100644 --- a/docs/0.12/getting-started.html +++ b/docs/0.12/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.12/getting-started/index.html b/docs/0.12/getting-started/index.html index f798bdc03ba..475b90f9604 100644 --- a/docs/0.12/getting-started/index.html +++ b/docs/0.12/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.12/images.html b/docs/0.12/images.html index 212aab6b390..5ba9f9625c8 100644 --- a/docs/0.12/images.html +++ b/docs/0.12/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.12/images/index.html b/docs/0.12/images/index.html index 212aab6b390..5ba9f9625c8 100644 --- a/docs/0.12/images/index.html +++ b/docs/0.12/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.12/navigation.html b/docs/0.12/navigation.html index 99482f921ed..894fd86cc28 100644 --- a/docs/0.12/navigation.html +++ b/docs/0.12/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.12/navigation/index.html b/docs/0.12/navigation/index.html index 99482f921ed..894fd86cc28 100644 --- a/docs/0.12/navigation/index.html +++ b/docs/0.12/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.12/running-on-device.html b/docs/0.12/running-on-device.html index b620ae5a484..ccf0a225121 100644 --- a/docs/0.12/running-on-device.html +++ b/docs/0.12/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.12/running-on-device/index.html b/docs/0.12/running-on-device/index.html index b620ae5a484..ccf0a225121 100644 --- a/docs/0.12/running-on-device/index.html +++ b/docs/0.12/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.12/signed-apk-android.html b/docs/0.12/signed-apk-android.html index f0ce93d09de..12bda5c07dc 100644 --- a/docs/0.12/signed-apk-android.html +++ b/docs/0.12/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.12/signed-apk-android/index.html b/docs/0.12/signed-apk-android/index.html
index f0ce93d09de..12bda5c07dc 100644
--- a/docs/0.12/signed-apk-android/index.html
+++ b/docs/0.12/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.12/understanding-cli.html b/docs/0.12/understanding-cli.html
index d3052231d7b..6ef9f699150 100644
--- a/docs/0.12/understanding-cli.html
+++ b/docs/0.12/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.12/understanding-cli/index.html b/docs/0.12/understanding-cli/index.html
index d3052231d7b..6ef9f699150 100644
--- a/docs/0.12/understanding-cli/index.html
+++ b/docs/0.12/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.13/debugging.html b/docs/0.13/debugging.html
index aa257e9cd8e..650175723f9 100644
--- a/docs/0.13/debugging.html
+++ b/docs/0.13/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.13/debugging/index.html b/docs/0.13/debugging/index.html index aa257e9cd8e..650175723f9 100644 --- a/docs/0.13/debugging/index.html +++ b/docs/0.13/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.13/getting-started.html b/docs/0.13/getting-started.html index 28e500b2934..6f7efa3ea29 100644 --- a/docs/0.13/getting-started.html +++ b/docs/0.13/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.13/getting-started/index.html b/docs/0.13/getting-started/index.html index 28e500b2934..6f7efa3ea29 100644 --- a/docs/0.13/getting-started/index.html +++ b/docs/0.13/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.13/images.html b/docs/0.13/images.html index 1d53ee72c65..b048c89ba32 100644 --- a/docs/0.13/images.html +++ b/docs/0.13/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.13/images/index.html b/docs/0.13/images/index.html index 1d53ee72c65..b048c89ba32 100644 --- a/docs/0.13/images/index.html +++ b/docs/0.13/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.13/navigation.html b/docs/0.13/navigation.html index 177dd14e59b..dbb1b9a6002 100644 --- a/docs/0.13/navigation.html +++ b/docs/0.13/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.13/navigation/index.html b/docs/0.13/navigation/index.html index 177dd14e59b..dbb1b9a6002 100644 --- a/docs/0.13/navigation/index.html +++ b/docs/0.13/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.13/running-on-device.html b/docs/0.13/running-on-device.html index b504d2d2734..85b1ad03ea5 100644 --- a/docs/0.13/running-on-device.html +++ b/docs/0.13/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.13/running-on-device/index.html b/docs/0.13/running-on-device/index.html index b504d2d2734..85b1ad03ea5 100644 --- a/docs/0.13/running-on-device/index.html +++ b/docs/0.13/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.13/signed-apk-android.html b/docs/0.13/signed-apk-android.html index 7e6023b899a..756e4568a46 100644 --- a/docs/0.13/signed-apk-android.html +++ b/docs/0.13/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.13/signed-apk-android/index.html b/docs/0.13/signed-apk-android/index.html
index 7e6023b899a..756e4568a46 100644
--- a/docs/0.13/signed-apk-android/index.html
+++ b/docs/0.13/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.13/understanding-cli.html b/docs/0.13/understanding-cli.html
index 7c03562b824..e8a5ed24083 100644
--- a/docs/0.13/understanding-cli.html
+++ b/docs/0.13/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.13/understanding-cli/index.html b/docs/0.13/understanding-cli/index.html
index 7c03562b824..e8a5ed24083 100644
--- a/docs/0.13/understanding-cli/index.html
+++ b/docs/0.13/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.14/debugging.html b/docs/0.14/debugging.html
index da25f8b3c63..9096383bbcd 100644
--- a/docs/0.14/debugging.html
+++ b/docs/0.14/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.14/debugging/index.html b/docs/0.14/debugging/index.html index da25f8b3c63..9096383bbcd 100644 --- a/docs/0.14/debugging/index.html +++ b/docs/0.14/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.14/getting-started.html b/docs/0.14/getting-started.html index 1a1f5c6f6f4..6446e8fb42a 100644 --- a/docs/0.14/getting-started.html +++ b/docs/0.14/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.14/getting-started/index.html b/docs/0.14/getting-started/index.html index 1a1f5c6f6f4..6446e8fb42a 100644 --- a/docs/0.14/getting-started/index.html +++ b/docs/0.14/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.14/images.html b/docs/0.14/images.html index cfd98a8ecef..851c9be671a 100644 --- a/docs/0.14/images.html +++ b/docs/0.14/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.14/images/index.html b/docs/0.14/images/index.html index cfd98a8ecef..851c9be671a 100644 --- a/docs/0.14/images/index.html +++ b/docs/0.14/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.14/navigation.html b/docs/0.14/navigation.html index 9e120148ca7..7413da36648 100644 --- a/docs/0.14/navigation.html +++ b/docs/0.14/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.14/navigation/index.html b/docs/0.14/navigation/index.html index 9e120148ca7..7413da36648 100644 --- a/docs/0.14/navigation/index.html +++ b/docs/0.14/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.14/running-on-device.html b/docs/0.14/running-on-device.html index 774d92d09d8..702297a52c3 100644 --- a/docs/0.14/running-on-device.html +++ b/docs/0.14/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.14/running-on-device/index.html b/docs/0.14/running-on-device/index.html index 774d92d09d8..702297a52c3 100644 --- a/docs/0.14/running-on-device/index.html +++ b/docs/0.14/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.14/signed-apk-android.html b/docs/0.14/signed-apk-android.html index 864a57f04bb..7dd9beacc0a 100644 --- a/docs/0.14/signed-apk-android.html +++ b/docs/0.14/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.14/signed-apk-android/index.html b/docs/0.14/signed-apk-android/index.html
index 864a57f04bb..7dd9beacc0a 100644
--- a/docs/0.14/signed-apk-android/index.html
+++ b/docs/0.14/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.14/understanding-cli.html b/docs/0.14/understanding-cli.html
index eee6ca3cdab..79ee18ec46c 100644
--- a/docs/0.14/understanding-cli.html
+++ b/docs/0.14/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.14/understanding-cli/index.html b/docs/0.14/understanding-cli/index.html
index eee6ca3cdab..79ee18ec46c 100644
--- a/docs/0.14/understanding-cli/index.html
+++ b/docs/0.14/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.15/debugging.html b/docs/0.15/debugging.html
index a4ee99724dd..c68ca9b8d7f 100644
--- a/docs/0.15/debugging.html
+++ b/docs/0.15/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.15/debugging/index.html b/docs/0.15/debugging/index.html index a4ee99724dd..c68ca9b8d7f 100644 --- a/docs/0.15/debugging/index.html +++ b/docs/0.15/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.15/getting-started.html b/docs/0.15/getting-started.html index bcc7b179f50..ddbeacdc6f2 100644 --- a/docs/0.15/getting-started.html +++ b/docs/0.15/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.15/getting-started/index.html b/docs/0.15/getting-started/index.html index bcc7b179f50..ddbeacdc6f2 100644 --- a/docs/0.15/getting-started/index.html +++ b/docs/0.15/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.15/images.html b/docs/0.15/images.html index 957c301f59d..e715d5cb0f5 100644 --- a/docs/0.15/images.html +++ b/docs/0.15/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.15/images/index.html b/docs/0.15/images/index.html index 957c301f59d..e715d5cb0f5 100644 --- a/docs/0.15/images/index.html +++ b/docs/0.15/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.15/navigation.html b/docs/0.15/navigation.html index 5071088b0dc..b28dc755e60 100644 --- a/docs/0.15/navigation.html +++ b/docs/0.15/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.15/navigation/index.html b/docs/0.15/navigation/index.html index 5071088b0dc..b28dc755e60 100644 --- a/docs/0.15/navigation/index.html +++ b/docs/0.15/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.15/running-on-device.html b/docs/0.15/running-on-device.html index 5eaf90126e3..89067352c70 100644 --- a/docs/0.15/running-on-device.html +++ b/docs/0.15/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.15/running-on-device/index.html b/docs/0.15/running-on-device/index.html index 5eaf90126e3..89067352c70 100644 --- a/docs/0.15/running-on-device/index.html +++ b/docs/0.15/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.15/signed-apk-android.html b/docs/0.15/signed-apk-android.html index bfac5d4b834..9cc878f6fcb 100644 --- a/docs/0.15/signed-apk-android.html +++ b/docs/0.15/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.15/signed-apk-android/index.html b/docs/0.15/signed-apk-android/index.html
index bfac5d4b834..9cc878f6fcb 100644
--- a/docs/0.15/signed-apk-android/index.html
+++ b/docs/0.15/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.15/understanding-cli.html b/docs/0.15/understanding-cli.html
index dcfdcd99d1d..404a5b44e8d 100644
--- a/docs/0.15/understanding-cli.html
+++ b/docs/0.15/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.15/understanding-cli/index.html b/docs/0.15/understanding-cli/index.html
index dcfdcd99d1d..404a5b44e8d 100644
--- a/docs/0.15/understanding-cli/index.html
+++ b/docs/0.15/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.16/debugging.html b/docs/0.16/debugging.html
index 5877e1f066f..e63740f925a 100644
--- a/docs/0.16/debugging.html
+++ b/docs/0.16/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.16/debugging/index.html b/docs/0.16/debugging/index.html index 5877e1f066f..e63740f925a 100644 --- a/docs/0.16/debugging/index.html +++ b/docs/0.16/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.16/getting-started.html b/docs/0.16/getting-started.html index d2ea4c273d4..be8b5f08ddd 100644 --- a/docs/0.16/getting-started.html +++ b/docs/0.16/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.16/getting-started/index.html b/docs/0.16/getting-started/index.html index d2ea4c273d4..be8b5f08ddd 100644 --- a/docs/0.16/getting-started/index.html +++ b/docs/0.16/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.16/images.html b/docs/0.16/images.html index ea93e2f50f7..ad826fdce36 100644 --- a/docs/0.16/images.html +++ b/docs/0.16/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.16/images/index.html b/docs/0.16/images/index.html index ea93e2f50f7..ad826fdce36 100644 --- a/docs/0.16/images/index.html +++ b/docs/0.16/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.16/navigation.html b/docs/0.16/navigation.html index e463dcb313c..5daf492654b 100644 --- a/docs/0.16/navigation.html +++ b/docs/0.16/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.16/navigation/index.html b/docs/0.16/navigation/index.html index e463dcb313c..5daf492654b 100644 --- a/docs/0.16/navigation/index.html +++ b/docs/0.16/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.16/running-on-device.html b/docs/0.16/running-on-device.html index 4c907a50c9f..8a6890ca414 100644 --- a/docs/0.16/running-on-device.html +++ b/docs/0.16/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.16/running-on-device/index.html b/docs/0.16/running-on-device/index.html index 4c907a50c9f..8a6890ca414 100644 --- a/docs/0.16/running-on-device/index.html +++ b/docs/0.16/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.16/signed-apk-android.html b/docs/0.16/signed-apk-android.html index 5442bc82168..061767ef0f1 100644 --- a/docs/0.16/signed-apk-android.html +++ b/docs/0.16/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.16/signed-apk-android/index.html b/docs/0.16/signed-apk-android/index.html
index 5442bc82168..061767ef0f1 100644
--- a/docs/0.16/signed-apk-android/index.html
+++ b/docs/0.16/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.16/understanding-cli.html b/docs/0.16/understanding-cli.html
index 5899557406a..19568c2076d 100644
--- a/docs/0.16/understanding-cli.html
+++ b/docs/0.16/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.16/understanding-cli/index.html b/docs/0.16/understanding-cli/index.html
index 5899557406a..19568c2076d 100644
--- a/docs/0.16/understanding-cli/index.html
+++ b/docs/0.16/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.17/debugging.html b/docs/0.17/debugging.html
index 9877cdd2947..5a5f9ab032d 100644
--- a/docs/0.17/debugging.html
+++ b/docs/0.17/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.17/debugging/index.html b/docs/0.17/debugging/index.html index 9877cdd2947..5a5f9ab032d 100644 --- a/docs/0.17/debugging/index.html +++ b/docs/0.17/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.17/getting-started.html b/docs/0.17/getting-started.html index 719bf6a1a3f..98025568251 100644 --- a/docs/0.17/getting-started.html +++ b/docs/0.17/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.17/getting-started/index.html b/docs/0.17/getting-started/index.html index 719bf6a1a3f..98025568251 100644 --- a/docs/0.17/getting-started/index.html +++ b/docs/0.17/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.17/images.html b/docs/0.17/images.html index ce9ca9e4729..070ed0d4e48 100644 --- a/docs/0.17/images.html +++ b/docs/0.17/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.17/images/index.html b/docs/0.17/images/index.html index ce9ca9e4729..070ed0d4e48 100644 --- a/docs/0.17/images/index.html +++ b/docs/0.17/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.17/navigation.html b/docs/0.17/navigation.html index bd290b6a28b..d5896467c49 100644 --- a/docs/0.17/navigation.html +++ b/docs/0.17/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.17/navigation/index.html b/docs/0.17/navigation/index.html index bd290b6a28b..d5896467c49 100644 --- a/docs/0.17/navigation/index.html +++ b/docs/0.17/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.17/running-on-device.html b/docs/0.17/running-on-device.html index fde1a42871e..44e44702257 100644 --- a/docs/0.17/running-on-device.html +++ b/docs/0.17/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.17/running-on-device/index.html b/docs/0.17/running-on-device/index.html index fde1a42871e..44e44702257 100644 --- a/docs/0.17/running-on-device/index.html +++ b/docs/0.17/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.17/signed-apk-android.html b/docs/0.17/signed-apk-android.html index ef92ce47b91..a54a1c2632d 100644 --- a/docs/0.17/signed-apk-android.html +++ b/docs/0.17/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.17/signed-apk-android/index.html b/docs/0.17/signed-apk-android/index.html
index ef92ce47b91..a54a1c2632d 100644
--- a/docs/0.17/signed-apk-android/index.html
+++ b/docs/0.17/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.17/understanding-cli.html b/docs/0.17/understanding-cli.html
index c73a98de0df..313b9c88856 100644
--- a/docs/0.17/understanding-cli.html
+++ b/docs/0.17/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.17/understanding-cli/index.html b/docs/0.17/understanding-cli/index.html
index c73a98de0df..313b9c88856 100644
--- a/docs/0.17/understanding-cli/index.html
+++ b/docs/0.17/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.18/debugging.html b/docs/0.18/debugging.html
index ca42b03d62f..66d85fef779 100644
--- a/docs/0.18/debugging.html
+++ b/docs/0.18/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.18/debugging/index.html b/docs/0.18/debugging/index.html index ca42b03d62f..66d85fef779 100644 --- a/docs/0.18/debugging/index.html +++ b/docs/0.18/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.18/getting-started.html b/docs/0.18/getting-started.html index 32e33ac5349..e5f6a2eb43c 100644 --- a/docs/0.18/getting-started.html +++ b/docs/0.18/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.18/getting-started/index.html b/docs/0.18/getting-started/index.html index 32e33ac5349..e5f6a2eb43c 100644 --- a/docs/0.18/getting-started/index.html +++ b/docs/0.18/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.18/images.html b/docs/0.18/images.html index e041ee31c77..4004c5834c2 100644 --- a/docs/0.18/images.html +++ b/docs/0.18/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.18/images/index.html b/docs/0.18/images/index.html index e041ee31c77..4004c5834c2 100644 --- a/docs/0.18/images/index.html +++ b/docs/0.18/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.18/navigation.html b/docs/0.18/navigation.html index a453a5a2f6c..1f4dc32d490 100644 --- a/docs/0.18/navigation.html +++ b/docs/0.18/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.18/navigation/index.html b/docs/0.18/navigation/index.html index a453a5a2f6c..1f4dc32d490 100644 --- a/docs/0.18/navigation/index.html +++ b/docs/0.18/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.18/running-on-device.html b/docs/0.18/running-on-device.html index 32b15446ac3..a0af020a7cd 100644 --- a/docs/0.18/running-on-device.html +++ b/docs/0.18/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.18/running-on-device/index.html b/docs/0.18/running-on-device/index.html index 32b15446ac3..a0af020a7cd 100644 --- a/docs/0.18/running-on-device/index.html +++ b/docs/0.18/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.18/signed-apk-android.html b/docs/0.18/signed-apk-android.html index 02e85e3ec90..3dcf3887c11 100644 --- a/docs/0.18/signed-apk-android.html +++ b/docs/0.18/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.18/signed-apk-android/index.html b/docs/0.18/signed-apk-android/index.html
index 02e85e3ec90..3dcf3887c11 100644
--- a/docs/0.18/signed-apk-android/index.html
+++ b/docs/0.18/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.18/understanding-cli.html b/docs/0.18/understanding-cli.html
index 73aaae1564e..93650566c8e 100644
--- a/docs/0.18/understanding-cli.html
+++ b/docs/0.18/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.18/understanding-cli/index.html b/docs/0.18/understanding-cli/index.html
index 73aaae1564e..93650566c8e 100644
--- a/docs/0.18/understanding-cli/index.html
+++ b/docs/0.18/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.19/debugging.html b/docs/0.19/debugging.html
index a6876702b75..00dcbbc4a93 100644
--- a/docs/0.19/debugging.html
+++ b/docs/0.19/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.19/debugging/index.html b/docs/0.19/debugging/index.html index a6876702b75..00dcbbc4a93 100644 --- a/docs/0.19/debugging/index.html +++ b/docs/0.19/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.19/getting-started.html b/docs/0.19/getting-started.html index 9ca86bf81fe..d8f5aae4320 100644 --- a/docs/0.19/getting-started.html +++ b/docs/0.19/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.19/getting-started/index.html b/docs/0.19/getting-started/index.html index 9ca86bf81fe..d8f5aae4320 100644 --- a/docs/0.19/getting-started/index.html +++ b/docs/0.19/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.19/images.html b/docs/0.19/images.html index 1e5bd6b825b..4d37c61c169 100644 --- a/docs/0.19/images.html +++ b/docs/0.19/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.19/images/index.html b/docs/0.19/images/index.html index 1e5bd6b825b..4d37c61c169 100644 --- a/docs/0.19/images/index.html +++ b/docs/0.19/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.19/navigation.html b/docs/0.19/navigation.html index b59eb825828..fc40a958600 100644 --- a/docs/0.19/navigation.html +++ b/docs/0.19/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.19/navigation/index.html b/docs/0.19/navigation/index.html index b59eb825828..fc40a958600 100644 --- a/docs/0.19/navigation/index.html +++ b/docs/0.19/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.19/running-on-device.html b/docs/0.19/running-on-device.html index c9d8d12e863..87b55a094e3 100644 --- a/docs/0.19/running-on-device.html +++ b/docs/0.19/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.19/running-on-device/index.html b/docs/0.19/running-on-device/index.html index c9d8d12e863..87b55a094e3 100644 --- a/docs/0.19/running-on-device/index.html +++ b/docs/0.19/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.19/signed-apk-android.html b/docs/0.19/signed-apk-android.html index 2ac79d47668..ba25021eb38 100644 --- a/docs/0.19/signed-apk-android.html +++ b/docs/0.19/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.19/signed-apk-android/index.html b/docs/0.19/signed-apk-android/index.html
index 2ac79d47668..ba25021eb38 100644
--- a/docs/0.19/signed-apk-android/index.html
+++ b/docs/0.19/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.19/understanding-cli.html b/docs/0.19/understanding-cli.html
index 17f850731bd..82690e0024d 100644
--- a/docs/0.19/understanding-cli.html
+++ b/docs/0.19/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.19/understanding-cli/index.html b/docs/0.19/understanding-cli/index.html
index 17f850731bd..82690e0024d 100644
--- a/docs/0.19/understanding-cli/index.html
+++ b/docs/0.19/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.20/debugging.html b/docs/0.20/debugging.html
index 22c5dacd030..120f40bf904 100644
--- a/docs/0.20/debugging.html
+++ b/docs/0.20/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.20/debugging/index.html b/docs/0.20/debugging/index.html index 22c5dacd030..120f40bf904 100644 --- a/docs/0.20/debugging/index.html +++ b/docs/0.20/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.20/getting-started.html b/docs/0.20/getting-started.html index de24591b46f..b44cb8e9010 100644 --- a/docs/0.20/getting-started.html +++ b/docs/0.20/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.20/getting-started/index.html b/docs/0.20/getting-started/index.html index de24591b46f..b44cb8e9010 100644 --- a/docs/0.20/getting-started/index.html +++ b/docs/0.20/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.20/images.html b/docs/0.20/images.html index 4148a3a8924..291949e9649 100644 --- a/docs/0.20/images.html +++ b/docs/0.20/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.20/images/index.html b/docs/0.20/images/index.html index 4148a3a8924..291949e9649 100644 --- a/docs/0.20/images/index.html +++ b/docs/0.20/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.20/navigation.html b/docs/0.20/navigation.html index aadce85042c..b87a51001d9 100644 --- a/docs/0.20/navigation.html +++ b/docs/0.20/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.20/navigation/index.html b/docs/0.20/navigation/index.html index aadce85042c..b87a51001d9 100644 --- a/docs/0.20/navigation/index.html +++ b/docs/0.20/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.20/running-on-device.html b/docs/0.20/running-on-device.html index 0485842172a..926e89f20fe 100644 --- a/docs/0.20/running-on-device.html +++ b/docs/0.20/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.20/running-on-device/index.html b/docs/0.20/running-on-device/index.html index 0485842172a..926e89f20fe 100644 --- a/docs/0.20/running-on-device/index.html +++ b/docs/0.20/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.20/signed-apk-android.html b/docs/0.20/signed-apk-android.html index 35eecd1f0c4..2bd2656fbee 100644 --- a/docs/0.20/signed-apk-android.html +++ b/docs/0.20/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.20/signed-apk-android/index.html b/docs/0.20/signed-apk-android/index.html
index 35eecd1f0c4..2bd2656fbee 100644
--- a/docs/0.20/signed-apk-android/index.html
+++ b/docs/0.20/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.20/understanding-cli.html b/docs/0.20/understanding-cli.html
index 3926c5a4ac0..165ebea5ce1 100644
--- a/docs/0.20/understanding-cli.html
+++ b/docs/0.20/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.20/understanding-cli/index.html b/docs/0.20/understanding-cli/index.html
index 3926c5a4ac0..165ebea5ce1 100644
--- a/docs/0.20/understanding-cli/index.html
+++ b/docs/0.20/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.21/debugging.html b/docs/0.21/debugging.html
index c133dd5c949..d22c4d88b88 100644
--- a/docs/0.21/debugging.html
+++ b/docs/0.21/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.21/debugging/index.html b/docs/0.21/debugging/index.html index c133dd5c949..d22c4d88b88 100644 --- a/docs/0.21/debugging/index.html +++ b/docs/0.21/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.21/getting-started.html b/docs/0.21/getting-started.html index f09153627da..bf08e72891b 100644 --- a/docs/0.21/getting-started.html +++ b/docs/0.21/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.21/getting-started/index.html b/docs/0.21/getting-started/index.html index f09153627da..bf08e72891b 100644 --- a/docs/0.21/getting-started/index.html +++ b/docs/0.21/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.21/images.html b/docs/0.21/images.html index 90c79c2bfb4..b43bf6cbe2d 100644 --- a/docs/0.21/images.html +++ b/docs/0.21/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.21/images/index.html b/docs/0.21/images/index.html index 90c79c2bfb4..b43bf6cbe2d 100644 --- a/docs/0.21/images/index.html +++ b/docs/0.21/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.21/navigation.html b/docs/0.21/navigation.html index 94332cbc8f1..05bb64484d4 100644 --- a/docs/0.21/navigation.html +++ b/docs/0.21/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.21/navigation/index.html b/docs/0.21/navigation/index.html index 94332cbc8f1..05bb64484d4 100644 --- a/docs/0.21/navigation/index.html +++ b/docs/0.21/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.21/running-on-device.html b/docs/0.21/running-on-device.html index d0df8c5ce47..4fd0cbeba4d 100644 --- a/docs/0.21/running-on-device.html +++ b/docs/0.21/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.21/running-on-device/index.html b/docs/0.21/running-on-device/index.html index d0df8c5ce47..4fd0cbeba4d 100644 --- a/docs/0.21/running-on-device/index.html +++ b/docs/0.21/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.21/signed-apk-android.html b/docs/0.21/signed-apk-android.html index 82bce11b0e6..0f377aba5fa 100644 --- a/docs/0.21/signed-apk-android.html +++ b/docs/0.21/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.21/signed-apk-android/index.html b/docs/0.21/signed-apk-android/index.html
index 82bce11b0e6..0f377aba5fa 100644
--- a/docs/0.21/signed-apk-android/index.html
+++ b/docs/0.21/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.21/understanding-cli.html b/docs/0.21/understanding-cli.html
index fc85bc7e322..880572690b7 100644
--- a/docs/0.21/understanding-cli.html
+++ b/docs/0.21/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.21/understanding-cli/index.html b/docs/0.21/understanding-cli/index.html
index fc85bc7e322..880572690b7 100644
--- a/docs/0.21/understanding-cli/index.html
+++ b/docs/0.21/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.22/debugging.html b/docs/0.22/debugging.html
index e1fc06e23fb..4f6f9338f09 100644
--- a/docs/0.22/debugging.html
+++ b/docs/0.22/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.22/debugging/index.html b/docs/0.22/debugging/index.html index e1fc06e23fb..4f6f9338f09 100644 --- a/docs/0.22/debugging/index.html +++ b/docs/0.22/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.22/getting-started.html b/docs/0.22/getting-started.html index 9be56be6ef7..8f678b5048d 100644 --- a/docs/0.22/getting-started.html +++ b/docs/0.22/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.22/getting-started/index.html b/docs/0.22/getting-started/index.html index 9be56be6ef7..8f678b5048d 100644 --- a/docs/0.22/getting-started/index.html +++ b/docs/0.22/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.22/images.html b/docs/0.22/images.html index e0218f7578d..3493eb8ad83 100644 --- a/docs/0.22/images.html +++ b/docs/0.22/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.22/images/index.html b/docs/0.22/images/index.html index e0218f7578d..3493eb8ad83 100644 --- a/docs/0.22/images/index.html +++ b/docs/0.22/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.22/navigation.html b/docs/0.22/navigation.html index 55283ad67ce..c8655c417e6 100644 --- a/docs/0.22/navigation.html +++ b/docs/0.22/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.22/navigation/index.html b/docs/0.22/navigation/index.html index 55283ad67ce..c8655c417e6 100644 --- a/docs/0.22/navigation/index.html +++ b/docs/0.22/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.22/running-on-device.html b/docs/0.22/running-on-device.html index 2da7fabe6ff..df62731b4d5 100644 --- a/docs/0.22/running-on-device.html +++ b/docs/0.22/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.22/running-on-device/index.html b/docs/0.22/running-on-device/index.html index 2da7fabe6ff..df62731b4d5 100644 --- a/docs/0.22/running-on-device/index.html +++ b/docs/0.22/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.22/signed-apk-android.html b/docs/0.22/signed-apk-android.html index 17bec1f5d33..2d35b102ae6 100644 --- a/docs/0.22/signed-apk-android.html +++ b/docs/0.22/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.22/signed-apk-android/index.html b/docs/0.22/signed-apk-android/index.html
index 17bec1f5d33..2d35b102ae6 100644
--- a/docs/0.22/signed-apk-android/index.html
+++ b/docs/0.22/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.22/understanding-cli.html b/docs/0.22/understanding-cli.html
index 24dde3a6362..a4bc10bd581 100644
--- a/docs/0.22/understanding-cli.html
+++ b/docs/0.22/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.22/understanding-cli/index.html b/docs/0.22/understanding-cli/index.html
index 24dde3a6362..a4bc10bd581 100644
--- a/docs/0.22/understanding-cli/index.html
+++ b/docs/0.22/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.23/debugging.html b/docs/0.23/debugging.html
index 3bbecd56fd0..ea6c68c5371 100644
--- a/docs/0.23/debugging.html
+++ b/docs/0.23/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.23/debugging/index.html b/docs/0.23/debugging/index.html index 3bbecd56fd0..ea6c68c5371 100644 --- a/docs/0.23/debugging/index.html +++ b/docs/0.23/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.23/getting-started.html b/docs/0.23/getting-started.html index 6ce8a49af9c..e9af40b23f3 100644 --- a/docs/0.23/getting-started.html +++ b/docs/0.23/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.23/getting-started/index.html b/docs/0.23/getting-started/index.html index 6ce8a49af9c..e9af40b23f3 100644 --- a/docs/0.23/getting-started/index.html +++ b/docs/0.23/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.23/images.html b/docs/0.23/images.html index e9c409c4c07..4a8a4c1eff4 100644 --- a/docs/0.23/images.html +++ b/docs/0.23/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.23/images/index.html b/docs/0.23/images/index.html index e9c409c4c07..4a8a4c1eff4 100644 --- a/docs/0.23/images/index.html +++ b/docs/0.23/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.23/navigation.html b/docs/0.23/navigation.html index 11060ecabb5..d0b55160f6f 100644 --- a/docs/0.23/navigation.html +++ b/docs/0.23/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.23/navigation/index.html b/docs/0.23/navigation/index.html index 11060ecabb5..d0b55160f6f 100644 --- a/docs/0.23/navigation/index.html +++ b/docs/0.23/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.23/running-on-device.html b/docs/0.23/running-on-device.html index af2facc4b15..e20400963ba 100644 --- a/docs/0.23/running-on-device.html +++ b/docs/0.23/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.23/running-on-device/index.html b/docs/0.23/running-on-device/index.html index af2facc4b15..e20400963ba 100644 --- a/docs/0.23/running-on-device/index.html +++ b/docs/0.23/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.23/signed-apk-android.html b/docs/0.23/signed-apk-android.html index a1e2b6d4908..f7a6efe4baa 100644 --- a/docs/0.23/signed-apk-android.html +++ b/docs/0.23/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.23/signed-apk-android/index.html b/docs/0.23/signed-apk-android/index.html
index a1e2b6d4908..f7a6efe4baa 100644
--- a/docs/0.23/signed-apk-android/index.html
+++ b/docs/0.23/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.23/understanding-cli.html b/docs/0.23/understanding-cli.html
index 847be090818..4be9995fb86 100644
--- a/docs/0.23/understanding-cli.html
+++ b/docs/0.23/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.23/understanding-cli/index.html b/docs/0.23/understanding-cli/index.html
index 847be090818..4be9995fb86 100644
--- a/docs/0.23/understanding-cli/index.html
+++ b/docs/0.23/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.24/debugging.html b/docs/0.24/debugging.html
index 71ac75912a7..5a1e0e70060 100644
--- a/docs/0.24/debugging.html
+++ b/docs/0.24/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.24/debugging/index.html b/docs/0.24/debugging/index.html index 71ac75912a7..5a1e0e70060 100644 --- a/docs/0.24/debugging/index.html +++ b/docs/0.24/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.24/getting-started.html b/docs/0.24/getting-started.html index f8c9e2553db..e580fb2ce9e 100644 --- a/docs/0.24/getting-started.html +++ b/docs/0.24/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.24/getting-started/index.html b/docs/0.24/getting-started/index.html index f8c9e2553db..e580fb2ce9e 100644 --- a/docs/0.24/getting-started/index.html +++ b/docs/0.24/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.24/images.html b/docs/0.24/images.html index 19a04e76418..1bb7c6b77e7 100644 --- a/docs/0.24/images.html +++ b/docs/0.24/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.24/images/index.html b/docs/0.24/images/index.html index 19a04e76418..1bb7c6b77e7 100644 --- a/docs/0.24/images/index.html +++ b/docs/0.24/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.24/navigation.html b/docs/0.24/navigation.html index c5bda176085..ae75623611d 100644 --- a/docs/0.24/navigation.html +++ b/docs/0.24/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.24/navigation/index.html b/docs/0.24/navigation/index.html index c5bda176085..ae75623611d 100644 --- a/docs/0.24/navigation/index.html +++ b/docs/0.24/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.24/running-on-device.html b/docs/0.24/running-on-device.html index 716cede9b10..00e74ea460c 100644 --- a/docs/0.24/running-on-device.html +++ b/docs/0.24/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.24/running-on-device/index.html b/docs/0.24/running-on-device/index.html index 716cede9b10..00e74ea460c 100644 --- a/docs/0.24/running-on-device/index.html +++ b/docs/0.24/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.24/signed-apk-android.html b/docs/0.24/signed-apk-android.html index 3ade1f179ca..65231438b3e 100644 --- a/docs/0.24/signed-apk-android.html +++ b/docs/0.24/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.24/signed-apk-android/index.html b/docs/0.24/signed-apk-android/index.html
index 3ade1f179ca..65231438b3e 100644
--- a/docs/0.24/signed-apk-android/index.html
+++ b/docs/0.24/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.24/understanding-cli.html b/docs/0.24/understanding-cli.html
index 5022a8a68e0..07047e393de 100644
--- a/docs/0.24/understanding-cli.html
+++ b/docs/0.24/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.24/understanding-cli/index.html b/docs/0.24/understanding-cli/index.html
index 5022a8a68e0..07047e393de 100644
--- a/docs/0.24/understanding-cli/index.html
+++ b/docs/0.24/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.25/debugging.html b/docs/0.25/debugging.html
index 479c34f1528..0d5bc181ea8 100644
--- a/docs/0.25/debugging.html
+++ b/docs/0.25/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.25/debugging/index.html b/docs/0.25/debugging/index.html index 479c34f1528..0d5bc181ea8 100644 --- a/docs/0.25/debugging/index.html +++ b/docs/0.25/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.25/getting-started.html b/docs/0.25/getting-started.html index 1554ce05096..ff2f429c3e7 100644 --- a/docs/0.25/getting-started.html +++ b/docs/0.25/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.25/getting-started/index.html b/docs/0.25/getting-started/index.html index 1554ce05096..ff2f429c3e7 100644 --- a/docs/0.25/getting-started/index.html +++ b/docs/0.25/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.25/images.html b/docs/0.25/images.html index dc32f20871f..78790fe26ec 100644 --- a/docs/0.25/images.html +++ b/docs/0.25/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.25/images/index.html b/docs/0.25/images/index.html index dc32f20871f..78790fe26ec 100644 --- a/docs/0.25/images/index.html +++ b/docs/0.25/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.25/navigation.html b/docs/0.25/navigation.html index a588688c25d..493eae43c76 100644 --- a/docs/0.25/navigation.html +++ b/docs/0.25/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.25/navigation/index.html b/docs/0.25/navigation/index.html index a588688c25d..493eae43c76 100644 --- a/docs/0.25/navigation/index.html +++ b/docs/0.25/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.25/running-on-device.html b/docs/0.25/running-on-device.html index 495dff8a6da..c94c55327ff 100644 --- a/docs/0.25/running-on-device.html +++ b/docs/0.25/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.25/running-on-device/index.html b/docs/0.25/running-on-device/index.html index 495dff8a6da..c94c55327ff 100644 --- a/docs/0.25/running-on-device/index.html +++ b/docs/0.25/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.25/signed-apk-android.html b/docs/0.25/signed-apk-android.html index 7d6190b8797..e74a9132ad8 100644 --- a/docs/0.25/signed-apk-android.html +++ b/docs/0.25/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.25/signed-apk-android/index.html b/docs/0.25/signed-apk-android/index.html
index 7d6190b8797..e74a9132ad8 100644
--- a/docs/0.25/signed-apk-android/index.html
+++ b/docs/0.25/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.25/understanding-cli.html b/docs/0.25/understanding-cli.html
index 5ddeddfe7b3..92fc1d570c6 100644
--- a/docs/0.25/understanding-cli.html
+++ b/docs/0.25/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.25/understanding-cli/index.html b/docs/0.25/understanding-cli/index.html
index 5ddeddfe7b3..92fc1d570c6 100644
--- a/docs/0.25/understanding-cli/index.html
+++ b/docs/0.25/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.26/debugging.html b/docs/0.26/debugging.html
index 143a215f8c5..e4fa61a7aae 100644
--- a/docs/0.26/debugging.html
+++ b/docs/0.26/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.26/debugging/index.html b/docs/0.26/debugging/index.html index 143a215f8c5..e4fa61a7aae 100644 --- a/docs/0.26/debugging/index.html +++ b/docs/0.26/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.26/getting-started.html b/docs/0.26/getting-started.html index db91cd088e0..31a0f671e4f 100644 --- a/docs/0.26/getting-started.html +++ b/docs/0.26/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.26/getting-started/index.html b/docs/0.26/getting-started/index.html index db91cd088e0..31a0f671e4f 100644 --- a/docs/0.26/getting-started/index.html +++ b/docs/0.26/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.26/images.html b/docs/0.26/images.html index 3a9ba619203..9c4d38314ac 100644 --- a/docs/0.26/images.html +++ b/docs/0.26/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.26/images/index.html b/docs/0.26/images/index.html index 3a9ba619203..9c4d38314ac 100644 --- a/docs/0.26/images/index.html +++ b/docs/0.26/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.26/navigation.html b/docs/0.26/navigation.html index 11f9ead03f9..d4ab428235e 100644 --- a/docs/0.26/navigation.html +++ b/docs/0.26/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.26/navigation/index.html b/docs/0.26/navigation/index.html index 11f9ead03f9..d4ab428235e 100644 --- a/docs/0.26/navigation/index.html +++ b/docs/0.26/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.26/running-on-device.html b/docs/0.26/running-on-device.html index ac03bcd0840..e3d02057e7b 100644 --- a/docs/0.26/running-on-device.html +++ b/docs/0.26/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.26/running-on-device/index.html b/docs/0.26/running-on-device/index.html index ac03bcd0840..e3d02057e7b 100644 --- a/docs/0.26/running-on-device/index.html +++ b/docs/0.26/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.26/signed-apk-android.html b/docs/0.26/signed-apk-android.html index 73b4a4c4673..d4680b99a43 100644 --- a/docs/0.26/signed-apk-android.html +++ b/docs/0.26/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.26/signed-apk-android/index.html b/docs/0.26/signed-apk-android/index.html
index 73b4a4c4673..d4680b99a43 100644
--- a/docs/0.26/signed-apk-android/index.html
+++ b/docs/0.26/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.26/understanding-cli.html b/docs/0.26/understanding-cli.html
index 27b2dc95a2e..83e1bfcda0c 100644
--- a/docs/0.26/understanding-cli.html
+++ b/docs/0.26/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.26/understanding-cli/index.html b/docs/0.26/understanding-cli/index.html
index 27b2dc95a2e..83e1bfcda0c 100644
--- a/docs/0.26/understanding-cli/index.html
+++ b/docs/0.26/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.27/debugging.html b/docs/0.27/debugging.html
index bbd632e1f5e..54d7f8e594f 100644
--- a/docs/0.27/debugging.html
+++ b/docs/0.27/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.27/debugging/index.html b/docs/0.27/debugging/index.html index bbd632e1f5e..54d7f8e594f 100644 --- a/docs/0.27/debugging/index.html +++ b/docs/0.27/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.27/getting-started.html b/docs/0.27/getting-started.html index 208f1360126..75559191f29 100644 --- a/docs/0.27/getting-started.html +++ b/docs/0.27/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.27/getting-started/index.html b/docs/0.27/getting-started/index.html index 208f1360126..75559191f29 100644 --- a/docs/0.27/getting-started/index.html +++ b/docs/0.27/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.27/images.html b/docs/0.27/images.html index c842302e349..ce729db34e9 100644 --- a/docs/0.27/images.html +++ b/docs/0.27/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.27/images/index.html b/docs/0.27/images/index.html index c842302e349..ce729db34e9 100644 --- a/docs/0.27/images/index.html +++ b/docs/0.27/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.27/navigation.html b/docs/0.27/navigation.html index 614a93ccbac..8fb616fd96d 100644 --- a/docs/0.27/navigation.html +++ b/docs/0.27/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.27/navigation/index.html b/docs/0.27/navigation/index.html index 614a93ccbac..8fb616fd96d 100644 --- a/docs/0.27/navigation/index.html +++ b/docs/0.27/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.27/running-on-device.html b/docs/0.27/running-on-device.html index edcbe80b622..9d847b8241a 100644 --- a/docs/0.27/running-on-device.html +++ b/docs/0.27/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.27/running-on-device/index.html b/docs/0.27/running-on-device/index.html index edcbe80b622..9d847b8241a 100644 --- a/docs/0.27/running-on-device/index.html +++ b/docs/0.27/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.27/signed-apk-android.html b/docs/0.27/signed-apk-android.html index 98069f9084a..5f7d8c43929 100644 --- a/docs/0.27/signed-apk-android.html +++ b/docs/0.27/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.27/signed-apk-android/index.html b/docs/0.27/signed-apk-android/index.html
index 98069f9084a..5f7d8c43929 100644
--- a/docs/0.27/signed-apk-android/index.html
+++ b/docs/0.27/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.27/understanding-cli.html b/docs/0.27/understanding-cli.html
index 5588dec0e7f..4ca1646f6df 100644
--- a/docs/0.27/understanding-cli.html
+++ b/docs/0.27/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.27/understanding-cli/index.html b/docs/0.27/understanding-cli/index.html
index 5588dec0e7f..4ca1646f6df 100644
--- a/docs/0.27/understanding-cli/index.html
+++ b/docs/0.27/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.28/debugging.html b/docs/0.28/debugging.html
index ae0d9e8b958..c8ac2f654e3 100644
--- a/docs/0.28/debugging.html
+++ b/docs/0.28/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.28/debugging/index.html b/docs/0.28/debugging/index.html index ae0d9e8b958..c8ac2f654e3 100644 --- a/docs/0.28/debugging/index.html +++ b/docs/0.28/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.28/getting-started.html b/docs/0.28/getting-started.html index cc6dc6b71a8..669732025f2 100644 --- a/docs/0.28/getting-started.html +++ b/docs/0.28/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.28/getting-started/index.html b/docs/0.28/getting-started/index.html index cc6dc6b71a8..669732025f2 100644 --- a/docs/0.28/getting-started/index.html +++ b/docs/0.28/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.28/images.html b/docs/0.28/images.html index de010441355..9e202d73ee9 100644 --- a/docs/0.28/images.html +++ b/docs/0.28/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.28/images/index.html b/docs/0.28/images/index.html index de010441355..9e202d73ee9 100644 --- a/docs/0.28/images/index.html +++ b/docs/0.28/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.28/navigation.html b/docs/0.28/navigation.html index 255eca09954..2c03e1e7697 100644 --- a/docs/0.28/navigation.html +++ b/docs/0.28/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.28/navigation/index.html b/docs/0.28/navigation/index.html index 255eca09954..2c03e1e7697 100644 --- a/docs/0.28/navigation/index.html +++ b/docs/0.28/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.28/running-on-device.html b/docs/0.28/running-on-device.html index a1a27290f50..5422070a318 100644 --- a/docs/0.28/running-on-device.html +++ b/docs/0.28/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.28/running-on-device/index.html b/docs/0.28/running-on-device/index.html index a1a27290f50..5422070a318 100644 --- a/docs/0.28/running-on-device/index.html +++ b/docs/0.28/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.28/signed-apk-android.html b/docs/0.28/signed-apk-android.html index 7b3cdd31742..022fe7c81da 100644 --- a/docs/0.28/signed-apk-android.html +++ b/docs/0.28/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.28/signed-apk-android/index.html b/docs/0.28/signed-apk-android/index.html
index 7b3cdd31742..022fe7c81da 100644
--- a/docs/0.28/signed-apk-android/index.html
+++ b/docs/0.28/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.28/understanding-cli.html b/docs/0.28/understanding-cli.html
index 432e1f881e6..f4569347209 100644
--- a/docs/0.28/understanding-cli.html
+++ b/docs/0.28/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.28/understanding-cli/index.html b/docs/0.28/understanding-cli/index.html
index 432e1f881e6..f4569347209 100644
--- a/docs/0.28/understanding-cli/index.html
+++ b/docs/0.28/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.29/debugging.html b/docs/0.29/debugging.html
index 5cbe1c97519..d76c07ac8ca 100644
--- a/docs/0.29/debugging.html
+++ b/docs/0.29/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.29/debugging/index.html b/docs/0.29/debugging/index.html index 5cbe1c97519..d76c07ac8ca 100644 --- a/docs/0.29/debugging/index.html +++ b/docs/0.29/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.29/getting-started.html b/docs/0.29/getting-started.html index 7a18723278d..a931f379b78 100644 --- a/docs/0.29/getting-started.html +++ b/docs/0.29/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.29/getting-started/index.html b/docs/0.29/getting-started/index.html index 7a18723278d..a931f379b78 100644 --- a/docs/0.29/getting-started/index.html +++ b/docs/0.29/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.29/images.html b/docs/0.29/images.html index 0db04b4f277..f384f06f116 100644 --- a/docs/0.29/images.html +++ b/docs/0.29/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.29/images/index.html b/docs/0.29/images/index.html index 0db04b4f277..f384f06f116 100644 --- a/docs/0.29/images/index.html +++ b/docs/0.29/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.29/navigation.html b/docs/0.29/navigation.html index 88aaa0ea3ae..0fb66284e4a 100644 --- a/docs/0.29/navigation.html +++ b/docs/0.29/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.29/navigation/index.html b/docs/0.29/navigation/index.html index 88aaa0ea3ae..0fb66284e4a 100644 --- a/docs/0.29/navigation/index.html +++ b/docs/0.29/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.29/running-on-device.html b/docs/0.29/running-on-device.html index 924dd95f72d..1e92a0b9240 100644 --- a/docs/0.29/running-on-device.html +++ b/docs/0.29/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.29/running-on-device/index.html b/docs/0.29/running-on-device/index.html index 924dd95f72d..1e92a0b9240 100644 --- a/docs/0.29/running-on-device/index.html +++ b/docs/0.29/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.29/signed-apk-android.html b/docs/0.29/signed-apk-android.html index 11a86da5ac0..62b0f0fcc23 100644 --- a/docs/0.29/signed-apk-android.html +++ b/docs/0.29/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.29/signed-apk-android/index.html b/docs/0.29/signed-apk-android/index.html
index 11a86da5ac0..62b0f0fcc23 100644
--- a/docs/0.29/signed-apk-android/index.html
+++ b/docs/0.29/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.29/understanding-cli.html b/docs/0.29/understanding-cli.html
index 05feba4f90c..055f413b3d4 100644
--- a/docs/0.29/understanding-cli.html
+++ b/docs/0.29/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.29/understanding-cli/index.html b/docs/0.29/understanding-cli/index.html
index 05feba4f90c..055f413b3d4 100644
--- a/docs/0.29/understanding-cli/index.html
+++ b/docs/0.29/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.30/debugging.html b/docs/0.30/debugging.html
index 356f5faa5d3..2fcdf17a19a 100644
--- a/docs/0.30/debugging.html
+++ b/docs/0.30/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.30/debugging/index.html b/docs/0.30/debugging/index.html index 356f5faa5d3..2fcdf17a19a 100644 --- a/docs/0.30/debugging/index.html +++ b/docs/0.30/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.30/getting-started.html b/docs/0.30/getting-started.html index 5a12aca0a6d..b15c74b01b0 100644 --- a/docs/0.30/getting-started.html +++ b/docs/0.30/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.30/getting-started/index.html b/docs/0.30/getting-started/index.html index 5a12aca0a6d..b15c74b01b0 100644 --- a/docs/0.30/getting-started/index.html +++ b/docs/0.30/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.30/images.html b/docs/0.30/images.html index 4194f4ac85d..41c19de9fba 100644 --- a/docs/0.30/images.html +++ b/docs/0.30/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.30/images/index.html b/docs/0.30/images/index.html index 4194f4ac85d..41c19de9fba 100644 --- a/docs/0.30/images/index.html +++ b/docs/0.30/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.30/navigation.html b/docs/0.30/navigation.html index 8309a0b06b5..1438e69419e 100644 --- a/docs/0.30/navigation.html +++ b/docs/0.30/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.30/navigation/index.html b/docs/0.30/navigation/index.html index 8309a0b06b5..1438e69419e 100644 --- a/docs/0.30/navigation/index.html +++ b/docs/0.30/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.30/running-on-device.html b/docs/0.30/running-on-device.html index 75a315653f1..39459755b36 100644 --- a/docs/0.30/running-on-device.html +++ b/docs/0.30/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.30/running-on-device/index.html b/docs/0.30/running-on-device/index.html index 75a315653f1..39459755b36 100644 --- a/docs/0.30/running-on-device/index.html +++ b/docs/0.30/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.30/signed-apk-android.html b/docs/0.30/signed-apk-android.html index acb871cef44..ce9ed331890 100644 --- a/docs/0.30/signed-apk-android.html +++ b/docs/0.30/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.30/signed-apk-android/index.html b/docs/0.30/signed-apk-android/index.html
index acb871cef44..ce9ed331890 100644
--- a/docs/0.30/signed-apk-android/index.html
+++ b/docs/0.30/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.30/understanding-cli.html b/docs/0.30/understanding-cli.html
index 6a081b18a75..c1a5bc25c72 100644
--- a/docs/0.30/understanding-cli.html
+++ b/docs/0.30/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.30/understanding-cli/index.html b/docs/0.30/understanding-cli/index.html
index 6a081b18a75..c1a5bc25c72 100644
--- a/docs/0.30/understanding-cli/index.html
+++ b/docs/0.30/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.31/debugging.html b/docs/0.31/debugging.html
index 019b6deedc7..c7b6e6a394e 100644
--- a/docs/0.31/debugging.html
+++ b/docs/0.31/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.31/debugging/index.html b/docs/0.31/debugging/index.html index 019b6deedc7..c7b6e6a394e 100644 --- a/docs/0.31/debugging/index.html +++ b/docs/0.31/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.31/getting-started.html b/docs/0.31/getting-started.html index b4f7cca7f78..657e2de0267 100644 --- a/docs/0.31/getting-started.html +++ b/docs/0.31/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.31/getting-started/index.html b/docs/0.31/getting-started/index.html index b4f7cca7f78..657e2de0267 100644 --- a/docs/0.31/getting-started/index.html +++ b/docs/0.31/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.31/images.html b/docs/0.31/images.html index c4df834c869..6a891361417 100644 --- a/docs/0.31/images.html +++ b/docs/0.31/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.31/images/index.html b/docs/0.31/images/index.html index c4df834c869..6a891361417 100644 --- a/docs/0.31/images/index.html +++ b/docs/0.31/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.31/navigation.html b/docs/0.31/navigation.html index 8ed715e3955..4f18f011f58 100644 --- a/docs/0.31/navigation.html +++ b/docs/0.31/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.31/navigation/index.html b/docs/0.31/navigation/index.html index 8ed715e3955..4f18f011f58 100644 --- a/docs/0.31/navigation/index.html +++ b/docs/0.31/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.31/running-on-device.html b/docs/0.31/running-on-device.html index 053782c0a61..4d962952751 100644 --- a/docs/0.31/running-on-device.html +++ b/docs/0.31/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.31/running-on-device/index.html b/docs/0.31/running-on-device/index.html index 053782c0a61..4d962952751 100644 --- a/docs/0.31/running-on-device/index.html +++ b/docs/0.31/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.31/signed-apk-android.html b/docs/0.31/signed-apk-android.html index 46e887c7196..68cf1b4bc71 100644 --- a/docs/0.31/signed-apk-android.html +++ b/docs/0.31/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.31/signed-apk-android/index.html b/docs/0.31/signed-apk-android/index.html
index 46e887c7196..68cf1b4bc71 100644
--- a/docs/0.31/signed-apk-android/index.html
+++ b/docs/0.31/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.31/understanding-cli.html b/docs/0.31/understanding-cli.html
index 68e7bd89f59..019dcd2cbe3 100644
--- a/docs/0.31/understanding-cli.html
+++ b/docs/0.31/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.31/understanding-cli/index.html b/docs/0.31/understanding-cli/index.html
index 68e7bd89f59..019dcd2cbe3 100644
--- a/docs/0.31/understanding-cli/index.html
+++ b/docs/0.31/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.32/debugging.html b/docs/0.32/debugging.html
index 9eaac8b77b0..573e2e3de7c 100644
--- a/docs/0.32/debugging.html
+++ b/docs/0.32/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.32/debugging/index.html b/docs/0.32/debugging/index.html index 9eaac8b77b0..573e2e3de7c 100644 --- a/docs/0.32/debugging/index.html +++ b/docs/0.32/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.32/getting-started.html b/docs/0.32/getting-started.html index 70ce5f8b3fa..6cf30cfc4c9 100644 --- a/docs/0.32/getting-started.html +++ b/docs/0.32/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.32/getting-started/index.html b/docs/0.32/getting-started/index.html index 70ce5f8b3fa..6cf30cfc4c9 100644 --- a/docs/0.32/getting-started/index.html +++ b/docs/0.32/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.32/images.html b/docs/0.32/images.html index 8d9908ea607..9550be0c3fe 100644 --- a/docs/0.32/images.html +++ b/docs/0.32/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.32/images/index.html b/docs/0.32/images/index.html index 8d9908ea607..9550be0c3fe 100644 --- a/docs/0.32/images/index.html +++ b/docs/0.32/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.32/navigation.html b/docs/0.32/navigation.html index 44cde931451..e6391c2cbbd 100644 --- a/docs/0.32/navigation.html +++ b/docs/0.32/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.32/navigation/index.html b/docs/0.32/navigation/index.html index 44cde931451..e6391c2cbbd 100644 --- a/docs/0.32/navigation/index.html +++ b/docs/0.32/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.32/running-on-device.html b/docs/0.32/running-on-device.html index fdbb01cd4bb..205104e93af 100644 --- a/docs/0.32/running-on-device.html +++ b/docs/0.32/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.32/running-on-device/index.html b/docs/0.32/running-on-device/index.html index fdbb01cd4bb..205104e93af 100644 --- a/docs/0.32/running-on-device/index.html +++ b/docs/0.32/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.32/signed-apk-android.html b/docs/0.32/signed-apk-android.html index aa86abcf98c..0fe6d6b48e3 100644 --- a/docs/0.32/signed-apk-android.html +++ b/docs/0.32/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.32/signed-apk-android/index.html b/docs/0.32/signed-apk-android/index.html
index aa86abcf98c..0fe6d6b48e3 100644
--- a/docs/0.32/signed-apk-android/index.html
+++ b/docs/0.32/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.32/understanding-cli.html b/docs/0.32/understanding-cli.html
index 458bfb2789d..42d68905c69 100644
--- a/docs/0.32/understanding-cli.html
+++ b/docs/0.32/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.32/understanding-cli/index.html b/docs/0.32/understanding-cli/index.html
index 458bfb2789d..42d68905c69 100644
--- a/docs/0.32/understanding-cli/index.html
+++ b/docs/0.32/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.33/debugging.html b/docs/0.33/debugging.html
index b9a5c11707c..7c006640cbb 100644
--- a/docs/0.33/debugging.html
+++ b/docs/0.33/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.33/debugging/index.html b/docs/0.33/debugging/index.html index b9a5c11707c..7c006640cbb 100644 --- a/docs/0.33/debugging/index.html +++ b/docs/0.33/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.33/getting-started.html b/docs/0.33/getting-started.html index f63485692c2..467e30346bf 100644 --- a/docs/0.33/getting-started.html +++ b/docs/0.33/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.33/getting-started/index.html b/docs/0.33/getting-started/index.html index f63485692c2..467e30346bf 100644 --- a/docs/0.33/getting-started/index.html +++ b/docs/0.33/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.33/images.html b/docs/0.33/images.html index f8a0be938a9..8e64f790b84 100644 --- a/docs/0.33/images.html +++ b/docs/0.33/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.33/images/index.html b/docs/0.33/images/index.html index f8a0be938a9..8e64f790b84 100644 --- a/docs/0.33/images/index.html +++ b/docs/0.33/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.33/navigation.html b/docs/0.33/navigation.html index e1088cc3846..47ea6d7fcfb 100644 --- a/docs/0.33/navigation.html +++ b/docs/0.33/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.33/navigation/index.html b/docs/0.33/navigation/index.html index e1088cc3846..47ea6d7fcfb 100644 --- a/docs/0.33/navigation/index.html +++ b/docs/0.33/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.33/running-on-device.html b/docs/0.33/running-on-device.html index 1f69e90918d..13818bd0e7e 100644 --- a/docs/0.33/running-on-device.html +++ b/docs/0.33/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.33/running-on-device/index.html b/docs/0.33/running-on-device/index.html index 1f69e90918d..13818bd0e7e 100644 --- a/docs/0.33/running-on-device/index.html +++ b/docs/0.33/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.33/signed-apk-android.html b/docs/0.33/signed-apk-android.html index b6287b207c9..d3ddb377f5d 100644 --- a/docs/0.33/signed-apk-android.html +++ b/docs/0.33/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.33/signed-apk-android/index.html b/docs/0.33/signed-apk-android/index.html
index b6287b207c9..d3ddb377f5d 100644
--- a/docs/0.33/signed-apk-android/index.html
+++ b/docs/0.33/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.33/understanding-cli.html b/docs/0.33/understanding-cli.html
index deecf55b0e5..fb48f5f6b12 100644
--- a/docs/0.33/understanding-cli.html
+++ b/docs/0.33/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.33/understanding-cli/index.html b/docs/0.33/understanding-cli/index.html
index deecf55b0e5..fb48f5f6b12 100644
--- a/docs/0.33/understanding-cli/index.html
+++ b/docs/0.33/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.34/debugging.html b/docs/0.34/debugging.html
index d19960e59bb..d97c88fdb3a 100644
--- a/docs/0.34/debugging.html
+++ b/docs/0.34/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.34/debugging/index.html b/docs/0.34/debugging/index.html index d19960e59bb..d97c88fdb3a 100644 --- a/docs/0.34/debugging/index.html +++ b/docs/0.34/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.34/getting-started.html b/docs/0.34/getting-started.html index 3e936a49448..9e1a93ec71e 100644 --- a/docs/0.34/getting-started.html +++ b/docs/0.34/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.34/getting-started/index.html b/docs/0.34/getting-started/index.html index 3e936a49448..9e1a93ec71e 100644 --- a/docs/0.34/getting-started/index.html +++ b/docs/0.34/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.34/images.html b/docs/0.34/images.html index bc9ccedf34f..8e8ee1bb47f 100644 --- a/docs/0.34/images.html +++ b/docs/0.34/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.34/images/index.html b/docs/0.34/images/index.html index bc9ccedf34f..8e8ee1bb47f 100644 --- a/docs/0.34/images/index.html +++ b/docs/0.34/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.34/navigation.html b/docs/0.34/navigation.html index e50bf197033..bfc55eff283 100644 --- a/docs/0.34/navigation.html +++ b/docs/0.34/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.34/navigation/index.html b/docs/0.34/navigation/index.html index e50bf197033..bfc55eff283 100644 --- a/docs/0.34/navigation/index.html +++ b/docs/0.34/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.34/running-on-device.html b/docs/0.34/running-on-device.html index cd9d154bcb0..b4ae51b067e 100644 --- a/docs/0.34/running-on-device.html +++ b/docs/0.34/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.34/running-on-device/index.html b/docs/0.34/running-on-device/index.html index cd9d154bcb0..b4ae51b067e 100644 --- a/docs/0.34/running-on-device/index.html +++ b/docs/0.34/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.34/signed-apk-android.html b/docs/0.34/signed-apk-android.html index 5f7404351fe..759dc686a11 100644 --- a/docs/0.34/signed-apk-android.html +++ b/docs/0.34/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.34/signed-apk-android/index.html b/docs/0.34/signed-apk-android/index.html
index 5f7404351fe..759dc686a11 100644
--- a/docs/0.34/signed-apk-android/index.html
+++ b/docs/0.34/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.34/understanding-cli.html b/docs/0.34/understanding-cli.html
index d8607f76607..af106075deb 100644
--- a/docs/0.34/understanding-cli.html
+++ b/docs/0.34/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.34/understanding-cli/index.html b/docs/0.34/understanding-cli/index.html
index d8607f76607..af106075deb 100644
--- a/docs/0.34/understanding-cli/index.html
+++ b/docs/0.34/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.35/debugging.html b/docs/0.35/debugging.html
index 3912c639d84..6a34d81977a 100644
--- a/docs/0.35/debugging.html
+++ b/docs/0.35/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.35/debugging/index.html b/docs/0.35/debugging/index.html index 3912c639d84..6a34d81977a 100644 --- a/docs/0.35/debugging/index.html +++ b/docs/0.35/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.35/getting-started.html b/docs/0.35/getting-started.html index 959128264d1..3bb33cf5f9e 100644 --- a/docs/0.35/getting-started.html +++ b/docs/0.35/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.35/getting-started/index.html b/docs/0.35/getting-started/index.html index 959128264d1..3bb33cf5f9e 100644 --- a/docs/0.35/getting-started/index.html +++ b/docs/0.35/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.35/images.html b/docs/0.35/images.html index 24f62df16da..dbf74f0fd17 100644 --- a/docs/0.35/images.html +++ b/docs/0.35/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.35/images/index.html b/docs/0.35/images/index.html index 24f62df16da..dbf74f0fd17 100644 --- a/docs/0.35/images/index.html +++ b/docs/0.35/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.35/navigation.html b/docs/0.35/navigation.html index 62091b76a56..d4ef422ff12 100644 --- a/docs/0.35/navigation.html +++ b/docs/0.35/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.35/navigation/index.html b/docs/0.35/navigation/index.html index 62091b76a56..d4ef422ff12 100644 --- a/docs/0.35/navigation/index.html +++ b/docs/0.35/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.35/running-on-device.html b/docs/0.35/running-on-device.html index 777aa47c21e..0461c17bdb6 100644 --- a/docs/0.35/running-on-device.html +++ b/docs/0.35/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.35/running-on-device/index.html b/docs/0.35/running-on-device/index.html index 777aa47c21e..0461c17bdb6 100644 --- a/docs/0.35/running-on-device/index.html +++ b/docs/0.35/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.35/signed-apk-android.html b/docs/0.35/signed-apk-android.html index 99f2956972c..e5dd476b90f 100644 --- a/docs/0.35/signed-apk-android.html +++ b/docs/0.35/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.35/signed-apk-android/index.html b/docs/0.35/signed-apk-android/index.html
index 99f2956972c..e5dd476b90f 100644
--- a/docs/0.35/signed-apk-android/index.html
+++ b/docs/0.35/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.35/understanding-cli.html b/docs/0.35/understanding-cli.html
index 9196ed01e09..0a122736fe0 100644
--- a/docs/0.35/understanding-cli.html
+++ b/docs/0.35/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.35/understanding-cli/index.html b/docs/0.35/understanding-cli/index.html
index 9196ed01e09..0a122736fe0 100644
--- a/docs/0.35/understanding-cli/index.html
+++ b/docs/0.35/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.36/debugging.html b/docs/0.36/debugging.html
index 5a83fd32ac4..416d4b780d6 100644
--- a/docs/0.36/debugging.html
+++ b/docs/0.36/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.36/debugging/index.html b/docs/0.36/debugging/index.html index 5a83fd32ac4..416d4b780d6 100644 --- a/docs/0.36/debugging/index.html +++ b/docs/0.36/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.36/getting-started.html b/docs/0.36/getting-started.html index 977bbb9da36..55872642d51 100644 --- a/docs/0.36/getting-started.html +++ b/docs/0.36/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.36/getting-started/index.html b/docs/0.36/getting-started/index.html index 977bbb9da36..55872642d51 100644 --- a/docs/0.36/getting-started/index.html +++ b/docs/0.36/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.36/images.html b/docs/0.36/images.html index 70e92d48ac4..e59375cf0fc 100644 --- a/docs/0.36/images.html +++ b/docs/0.36/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.36/images/index.html b/docs/0.36/images/index.html index 70e92d48ac4..e59375cf0fc 100644 --- a/docs/0.36/images/index.html +++ b/docs/0.36/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.36/navigation.html b/docs/0.36/navigation.html index e8ad522e63e..fb4325054c2 100644 --- a/docs/0.36/navigation.html +++ b/docs/0.36/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.36/navigation/index.html b/docs/0.36/navigation/index.html index e8ad522e63e..fb4325054c2 100644 --- a/docs/0.36/navigation/index.html +++ b/docs/0.36/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.36/running-on-device.html b/docs/0.36/running-on-device.html index 097bc18a64d..409aa471e54 100644 --- a/docs/0.36/running-on-device.html +++ b/docs/0.36/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.36/running-on-device/index.html b/docs/0.36/running-on-device/index.html index 097bc18a64d..409aa471e54 100644 --- a/docs/0.36/running-on-device/index.html +++ b/docs/0.36/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.36/signed-apk-android.html b/docs/0.36/signed-apk-android.html index c723eefbf25..2b67224474f 100644 --- a/docs/0.36/signed-apk-android.html +++ b/docs/0.36/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.36/signed-apk-android/index.html b/docs/0.36/signed-apk-android/index.html
index c723eefbf25..2b67224474f 100644
--- a/docs/0.36/signed-apk-android/index.html
+++ b/docs/0.36/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.36/understanding-cli.html b/docs/0.36/understanding-cli.html
index 63328884d03..c5b30c075b7 100644
--- a/docs/0.36/understanding-cli.html
+++ b/docs/0.36/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.36/understanding-cli/index.html b/docs/0.36/understanding-cli/index.html
index 63328884d03..c5b30c075b7 100644
--- a/docs/0.36/understanding-cli/index.html
+++ b/docs/0.36/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.37/debugging.html b/docs/0.37/debugging.html
index 35b80e08f1e..8e64c834cd3 100644
--- a/docs/0.37/debugging.html
+++ b/docs/0.37/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.37/debugging/index.html b/docs/0.37/debugging/index.html index 35b80e08f1e..8e64c834cd3 100644 --- a/docs/0.37/debugging/index.html +++ b/docs/0.37/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.37/getting-started.html b/docs/0.37/getting-started.html index 9647757654c..deeee1f135d 100644 --- a/docs/0.37/getting-started.html +++ b/docs/0.37/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.37/getting-started/index.html b/docs/0.37/getting-started/index.html index 9647757654c..deeee1f135d 100644 --- a/docs/0.37/getting-started/index.html +++ b/docs/0.37/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.37/images.html b/docs/0.37/images.html index 505e43d4fb0..6c24106610a 100644 --- a/docs/0.37/images.html +++ b/docs/0.37/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.37/images/index.html b/docs/0.37/images/index.html index 505e43d4fb0..6c24106610a 100644 --- a/docs/0.37/images/index.html +++ b/docs/0.37/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.37/navigation.html b/docs/0.37/navigation.html index ee0bfe2ca02..097c57779b8 100644 --- a/docs/0.37/navigation.html +++ b/docs/0.37/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.37/navigation/index.html b/docs/0.37/navigation/index.html index ee0bfe2ca02..097c57779b8 100644 --- a/docs/0.37/navigation/index.html +++ b/docs/0.37/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.37/running-on-device.html b/docs/0.37/running-on-device.html index fe47f4cd446..0f507d157cf 100644 --- a/docs/0.37/running-on-device.html +++ b/docs/0.37/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.37/running-on-device/index.html b/docs/0.37/running-on-device/index.html index fe47f4cd446..0f507d157cf 100644 --- a/docs/0.37/running-on-device/index.html +++ b/docs/0.37/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.37/signed-apk-android.html b/docs/0.37/signed-apk-android.html index 9fd9fe1fe4c..cda8e18b2ef 100644 --- a/docs/0.37/signed-apk-android.html +++ b/docs/0.37/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.37/signed-apk-android/index.html b/docs/0.37/signed-apk-android/index.html
index 9fd9fe1fe4c..cda8e18b2ef 100644
--- a/docs/0.37/signed-apk-android/index.html
+++ b/docs/0.37/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.37/understanding-cli.html b/docs/0.37/understanding-cli.html
index ca5027868c0..8918c5ec8a6 100644
--- a/docs/0.37/understanding-cli.html
+++ b/docs/0.37/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.37/understanding-cli/index.html b/docs/0.37/understanding-cli/index.html
index ca5027868c0..8918c5ec8a6 100644
--- a/docs/0.37/understanding-cli/index.html
+++ b/docs/0.37/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.38/debugging.html b/docs/0.38/debugging.html
index 1813ea671e5..f4f46d33fc0 100644
--- a/docs/0.38/debugging.html
+++ b/docs/0.38/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.38/debugging/index.html b/docs/0.38/debugging/index.html index 1813ea671e5..f4f46d33fc0 100644 --- a/docs/0.38/debugging/index.html +++ b/docs/0.38/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.38/getting-started.html b/docs/0.38/getting-started.html index d0c99d895c7..280f422a18d 100644 --- a/docs/0.38/getting-started.html +++ b/docs/0.38/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.38/getting-started/index.html b/docs/0.38/getting-started/index.html index d0c99d895c7..280f422a18d 100644 --- a/docs/0.38/getting-started/index.html +++ b/docs/0.38/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.38/images.html b/docs/0.38/images.html index b9427eee935..48a310a9076 100644 --- a/docs/0.38/images.html +++ b/docs/0.38/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.38/images/index.html b/docs/0.38/images/index.html index b9427eee935..48a310a9076 100644 --- a/docs/0.38/images/index.html +++ b/docs/0.38/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.38/navigation.html b/docs/0.38/navigation.html index 88cb6b119a8..b1eb2fa8ad9 100644 --- a/docs/0.38/navigation.html +++ b/docs/0.38/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.38/navigation/index.html b/docs/0.38/navigation/index.html index 88cb6b119a8..b1eb2fa8ad9 100644 --- a/docs/0.38/navigation/index.html +++ b/docs/0.38/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.38/running-on-device.html b/docs/0.38/running-on-device.html index 5af57bd1c1d..908ffcb178c 100644 --- a/docs/0.38/running-on-device.html +++ b/docs/0.38/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.38/running-on-device/index.html b/docs/0.38/running-on-device/index.html index 5af57bd1c1d..908ffcb178c 100644 --- a/docs/0.38/running-on-device/index.html +++ b/docs/0.38/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.38/signed-apk-android.html b/docs/0.38/signed-apk-android.html index c527617ca98..3737174d40e 100644 --- a/docs/0.38/signed-apk-android.html +++ b/docs/0.38/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.38/signed-apk-android/index.html b/docs/0.38/signed-apk-android/index.html
index c527617ca98..3737174d40e 100644
--- a/docs/0.38/signed-apk-android/index.html
+++ b/docs/0.38/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.38/understanding-cli.html b/docs/0.38/understanding-cli.html
index fa98e1a27e9..6c59fed6a3b 100644
--- a/docs/0.38/understanding-cli.html
+++ b/docs/0.38/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.38/understanding-cli/index.html b/docs/0.38/understanding-cli/index.html
index fa98e1a27e9..6c59fed6a3b 100644
--- a/docs/0.38/understanding-cli/index.html
+++ b/docs/0.38/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.39/debugging.html b/docs/0.39/debugging.html
index f7cc9a16959..11e79452e54 100644
--- a/docs/0.39/debugging.html
+++ b/docs/0.39/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.39/debugging/index.html b/docs/0.39/debugging/index.html index f7cc9a16959..11e79452e54 100644 --- a/docs/0.39/debugging/index.html +++ b/docs/0.39/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.39/getting-started.html b/docs/0.39/getting-started.html index e0beeed86d6..bb799915253 100644 --- a/docs/0.39/getting-started.html +++ b/docs/0.39/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.39/getting-started/index.html b/docs/0.39/getting-started/index.html index e0beeed86d6..bb799915253 100644 --- a/docs/0.39/getting-started/index.html +++ b/docs/0.39/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.39/images.html b/docs/0.39/images.html index 8133e440645..8ee4f8a3e82 100644 --- a/docs/0.39/images.html +++ b/docs/0.39/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.39/images/index.html b/docs/0.39/images/index.html index 8133e440645..8ee4f8a3e82 100644 --- a/docs/0.39/images/index.html +++ b/docs/0.39/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.39/navigation.html b/docs/0.39/navigation.html index a0f1209fc04..819e83549ef 100644 --- a/docs/0.39/navigation.html +++ b/docs/0.39/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.39/navigation/index.html b/docs/0.39/navigation/index.html index a0f1209fc04..819e83549ef 100644 --- a/docs/0.39/navigation/index.html +++ b/docs/0.39/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.39/running-on-device.html b/docs/0.39/running-on-device.html index 2b348387bb6..2f98e5dffa6 100644 --- a/docs/0.39/running-on-device.html +++ b/docs/0.39/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.39/running-on-device/index.html b/docs/0.39/running-on-device/index.html index 2b348387bb6..2f98e5dffa6 100644 --- a/docs/0.39/running-on-device/index.html +++ b/docs/0.39/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.39/signed-apk-android.html b/docs/0.39/signed-apk-android.html index 592dc29c95c..b840062376b 100644 --- a/docs/0.39/signed-apk-android.html +++ b/docs/0.39/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.39/signed-apk-android/index.html b/docs/0.39/signed-apk-android/index.html
index 592dc29c95c..b840062376b 100644
--- a/docs/0.39/signed-apk-android/index.html
+++ b/docs/0.39/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.39/understanding-cli.html b/docs/0.39/understanding-cli.html
index 571dd50cf24..e951f6f20d7 100644
--- a/docs/0.39/understanding-cli.html
+++ b/docs/0.39/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.39/understanding-cli/index.html b/docs/0.39/understanding-cli/index.html
index 571dd50cf24..e951f6f20d7 100644
--- a/docs/0.39/understanding-cli/index.html
+++ b/docs/0.39/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.40/debugging.html b/docs/0.40/debugging.html
index f9f35a8d6e8..895436a4a2f 100644
--- a/docs/0.40/debugging.html
+++ b/docs/0.40/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.40/debugging/index.html b/docs/0.40/debugging/index.html index f9f35a8d6e8..895436a4a2f 100644 --- a/docs/0.40/debugging/index.html +++ b/docs/0.40/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.40/getting-started.html b/docs/0.40/getting-started.html index a93eeda29e0..57cc3c6c41b 100644 --- a/docs/0.40/getting-started.html +++ b/docs/0.40/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.40/getting-started/index.html b/docs/0.40/getting-started/index.html index a93eeda29e0..57cc3c6c41b 100644 --- a/docs/0.40/getting-started/index.html +++ b/docs/0.40/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.40/images.html b/docs/0.40/images.html index 63ecbfc078c..9ffaa2e23c1 100644 --- a/docs/0.40/images.html +++ b/docs/0.40/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.40/images/index.html b/docs/0.40/images/index.html index 63ecbfc078c..9ffaa2e23c1 100644 --- a/docs/0.40/images/index.html +++ b/docs/0.40/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.40/navigation.html b/docs/0.40/navigation.html index ed90854c765..941dc4a1162 100644 --- a/docs/0.40/navigation.html +++ b/docs/0.40/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.40/navigation/index.html b/docs/0.40/navigation/index.html index ed90854c765..941dc4a1162 100644 --- a/docs/0.40/navigation/index.html +++ b/docs/0.40/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.40/running-on-device.html b/docs/0.40/running-on-device.html index 9bc9d8afa6f..715067bca76 100644 --- a/docs/0.40/running-on-device.html +++ b/docs/0.40/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.40/running-on-device/index.html b/docs/0.40/running-on-device/index.html index 9bc9d8afa6f..715067bca76 100644 --- a/docs/0.40/running-on-device/index.html +++ b/docs/0.40/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.40/signed-apk-android.html b/docs/0.40/signed-apk-android.html index 7531e5bffba..f12297d3414 100644 --- a/docs/0.40/signed-apk-android.html +++ b/docs/0.40/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.40/signed-apk-android/index.html b/docs/0.40/signed-apk-android/index.html
index 7531e5bffba..f12297d3414 100644
--- a/docs/0.40/signed-apk-android/index.html
+++ b/docs/0.40/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.40/understanding-cli.html b/docs/0.40/understanding-cli.html
index bf320b7e89b..2c3489b9975 100644
--- a/docs/0.40/understanding-cli.html
+++ b/docs/0.40/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.40/understanding-cli/index.html b/docs/0.40/understanding-cli/index.html
index bf320b7e89b..2c3489b9975 100644
--- a/docs/0.40/understanding-cli/index.html
+++ b/docs/0.40/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.41/debugging.html b/docs/0.41/debugging.html
index b2ae38e1fb3..559073a5ef5 100644
--- a/docs/0.41/debugging.html
+++ b/docs/0.41/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.41/debugging/index.html b/docs/0.41/debugging/index.html index b2ae38e1fb3..559073a5ef5 100644 --- a/docs/0.41/debugging/index.html +++ b/docs/0.41/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.41/getting-started.html b/docs/0.41/getting-started.html index cd2bdd0f7e5..1cb6d1463ec 100644 --- a/docs/0.41/getting-started.html +++ b/docs/0.41/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.41/getting-started/index.html b/docs/0.41/getting-started/index.html index cd2bdd0f7e5..1cb6d1463ec 100644 --- a/docs/0.41/getting-started/index.html +++ b/docs/0.41/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.41/images.html b/docs/0.41/images.html index 3b069d21cb7..b6bbbf820ea 100644 --- a/docs/0.41/images.html +++ b/docs/0.41/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.41/images/index.html b/docs/0.41/images/index.html index 3b069d21cb7..b6bbbf820ea 100644 --- a/docs/0.41/images/index.html +++ b/docs/0.41/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.41/navigation.html b/docs/0.41/navigation.html index 43f50619aea..3bf2cb15588 100644 --- a/docs/0.41/navigation.html +++ b/docs/0.41/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.41/navigation/index.html b/docs/0.41/navigation/index.html index 43f50619aea..3bf2cb15588 100644 --- a/docs/0.41/navigation/index.html +++ b/docs/0.41/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.41/running-on-device.html b/docs/0.41/running-on-device.html index 41c381f86ed..ecf1cfcbc97 100644 --- a/docs/0.41/running-on-device.html +++ b/docs/0.41/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.41/running-on-device/index.html b/docs/0.41/running-on-device/index.html index 41c381f86ed..ecf1cfcbc97 100644 --- a/docs/0.41/running-on-device/index.html +++ b/docs/0.41/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.41/signed-apk-android.html b/docs/0.41/signed-apk-android.html index 080eaf75194..128026c6182 100644 --- a/docs/0.41/signed-apk-android.html +++ b/docs/0.41/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.41/signed-apk-android/index.html b/docs/0.41/signed-apk-android/index.html
index 080eaf75194..128026c6182 100644
--- a/docs/0.41/signed-apk-android/index.html
+++ b/docs/0.41/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.41/understanding-cli.html b/docs/0.41/understanding-cli.html
index d5d5349cae8..a8067899975 100644
--- a/docs/0.41/understanding-cli.html
+++ b/docs/0.41/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.41/understanding-cli/index.html b/docs/0.41/understanding-cli/index.html
index d5d5349cae8..a8067899975 100644
--- a/docs/0.41/understanding-cli/index.html
+++ b/docs/0.41/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.42/debugging.html b/docs/0.42/debugging.html
index a1843448f6c..9f83277f17a 100644
--- a/docs/0.42/debugging.html
+++ b/docs/0.42/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.42/debugging/index.html b/docs/0.42/debugging/index.html index a1843448f6c..9f83277f17a 100644 --- a/docs/0.42/debugging/index.html +++ b/docs/0.42/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.42/getting-started.html b/docs/0.42/getting-started.html index 755227fd367..a417a004b48 100644 --- a/docs/0.42/getting-started.html +++ b/docs/0.42/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.42/getting-started/index.html b/docs/0.42/getting-started/index.html index 755227fd367..a417a004b48 100644 --- a/docs/0.42/getting-started/index.html +++ b/docs/0.42/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.42/images.html b/docs/0.42/images.html index 98271a0234c..3e965b6b72b 100644 --- a/docs/0.42/images.html +++ b/docs/0.42/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.42/images/index.html b/docs/0.42/images/index.html index 98271a0234c..3e965b6b72b 100644 --- a/docs/0.42/images/index.html +++ b/docs/0.42/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.42/navigation.html b/docs/0.42/navigation.html index 902d3f1c8a2..ce68ab74bb6 100644 --- a/docs/0.42/navigation.html +++ b/docs/0.42/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.42/navigation/index.html b/docs/0.42/navigation/index.html index 902d3f1c8a2..ce68ab74bb6 100644 --- a/docs/0.42/navigation/index.html +++ b/docs/0.42/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.42/running-on-device.html b/docs/0.42/running-on-device.html index 0f1d5bc4044..066688564c7 100644 --- a/docs/0.42/running-on-device.html +++ b/docs/0.42/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.42/running-on-device/index.html b/docs/0.42/running-on-device/index.html index 0f1d5bc4044..066688564c7 100644 --- a/docs/0.42/running-on-device/index.html +++ b/docs/0.42/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.42/signed-apk-android.html b/docs/0.42/signed-apk-android.html index 92277e3c17e..355cec94a75 100644 --- a/docs/0.42/signed-apk-android.html +++ b/docs/0.42/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.42/signed-apk-android/index.html b/docs/0.42/signed-apk-android/index.html
index 92277e3c17e..355cec94a75 100644
--- a/docs/0.42/signed-apk-android/index.html
+++ b/docs/0.42/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.42/understanding-cli.html b/docs/0.42/understanding-cli.html
index 3346d5664b8..4b30be1b1c4 100644
--- a/docs/0.42/understanding-cli.html
+++ b/docs/0.42/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.42/understanding-cli/index.html b/docs/0.42/understanding-cli/index.html
index 3346d5664b8..4b30be1b1c4 100644
--- a/docs/0.42/understanding-cli/index.html
+++ b/docs/0.42/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.43/debugging.html b/docs/0.43/debugging.html
index c7694dad95e..87d141b93e9 100644
--- a/docs/0.43/debugging.html
+++ b/docs/0.43/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.43/debugging/index.html b/docs/0.43/debugging/index.html index c7694dad95e..87d141b93e9 100644 --- a/docs/0.43/debugging/index.html +++ b/docs/0.43/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.43/getting-started.html b/docs/0.43/getting-started.html index 24d728c4331..0544c99307d 100644 --- a/docs/0.43/getting-started.html +++ b/docs/0.43/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.43/getting-started/index.html b/docs/0.43/getting-started/index.html index 24d728c4331..0544c99307d 100644 --- a/docs/0.43/getting-started/index.html +++ b/docs/0.43/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.43/images.html b/docs/0.43/images.html index 245483f4f1c..f2ecd1573d4 100644 --- a/docs/0.43/images.html +++ b/docs/0.43/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.43/images/index.html b/docs/0.43/images/index.html index 245483f4f1c..f2ecd1573d4 100644 --- a/docs/0.43/images/index.html +++ b/docs/0.43/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.43/navigation.html b/docs/0.43/navigation.html index d49f108a400..573596fa934 100644 --- a/docs/0.43/navigation.html +++ b/docs/0.43/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.43/navigation/index.html b/docs/0.43/navigation/index.html index d49f108a400..573596fa934 100644 --- a/docs/0.43/navigation/index.html +++ b/docs/0.43/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.43/running-on-device.html b/docs/0.43/running-on-device.html index 8576da3ebf1..ddd93f4ff17 100644 --- a/docs/0.43/running-on-device.html +++ b/docs/0.43/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.43/running-on-device/index.html b/docs/0.43/running-on-device/index.html index 8576da3ebf1..ddd93f4ff17 100644 --- a/docs/0.43/running-on-device/index.html +++ b/docs/0.43/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.43/signed-apk-android.html b/docs/0.43/signed-apk-android.html index efee1079d94..2c67c81b18c 100644 --- a/docs/0.43/signed-apk-android.html +++ b/docs/0.43/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.43/signed-apk-android/index.html b/docs/0.43/signed-apk-android/index.html
index efee1079d94..2c67c81b18c 100644
--- a/docs/0.43/signed-apk-android/index.html
+++ b/docs/0.43/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.43/understanding-cli.html b/docs/0.43/understanding-cli.html
index 278bcadbb47..ca4897ff64f 100644
--- a/docs/0.43/understanding-cli.html
+++ b/docs/0.43/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.43/understanding-cli/index.html b/docs/0.43/understanding-cli/index.html
index 278bcadbb47..ca4897ff64f 100644
--- a/docs/0.43/understanding-cli/index.html
+++ b/docs/0.43/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.44/debugging.html b/docs/0.44/debugging.html
index 964fb19c753..992ea75bc1c 100644
--- a/docs/0.44/debugging.html
+++ b/docs/0.44/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.44/debugging/index.html b/docs/0.44/debugging/index.html index 964fb19c753..992ea75bc1c 100644 --- a/docs/0.44/debugging/index.html +++ b/docs/0.44/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.44/getting-started.html b/docs/0.44/getting-started.html index dd4fa74b3d1..40c2f48fb6e 100644 --- a/docs/0.44/getting-started.html +++ b/docs/0.44/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.44/getting-started/index.html b/docs/0.44/getting-started/index.html index dd4fa74b3d1..40c2f48fb6e 100644 --- a/docs/0.44/getting-started/index.html +++ b/docs/0.44/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.44/images.html b/docs/0.44/images.html index 1def20db958..f172916ccc0 100644 --- a/docs/0.44/images.html +++ b/docs/0.44/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.44/images/index.html b/docs/0.44/images/index.html index 1def20db958..f172916ccc0 100644 --- a/docs/0.44/images/index.html +++ b/docs/0.44/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.44/navigation.html b/docs/0.44/navigation.html index 5bb0b1a9f3a..b2eeca57587 100644 --- a/docs/0.44/navigation.html +++ b/docs/0.44/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.44/navigation/index.html b/docs/0.44/navigation/index.html index 5bb0b1a9f3a..b2eeca57587 100644 --- a/docs/0.44/navigation/index.html +++ b/docs/0.44/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.44/running-on-device.html b/docs/0.44/running-on-device.html index 5deea17b794..1c5d5a76eb1 100644 --- a/docs/0.44/running-on-device.html +++ b/docs/0.44/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.44/running-on-device/index.html b/docs/0.44/running-on-device/index.html index 5deea17b794..1c5d5a76eb1 100644 --- a/docs/0.44/running-on-device/index.html +++ b/docs/0.44/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.44/signed-apk-android.html b/docs/0.44/signed-apk-android.html index 1e66d4a87ee..3d80187c442 100644 --- a/docs/0.44/signed-apk-android.html +++ b/docs/0.44/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.44/signed-apk-android/index.html b/docs/0.44/signed-apk-android/index.html
index 1e66d4a87ee..3d80187c442 100644
--- a/docs/0.44/signed-apk-android/index.html
+++ b/docs/0.44/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.44/understanding-cli.html b/docs/0.44/understanding-cli.html
index c0345f3796b..3e87b24e0a1 100644
--- a/docs/0.44/understanding-cli.html
+++ b/docs/0.44/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.44/understanding-cli/index.html b/docs/0.44/understanding-cli/index.html
index c0345f3796b..3e87b24e0a1 100644
--- a/docs/0.44/understanding-cli/index.html
+++ b/docs/0.44/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.45/debugging.html b/docs/0.45/debugging.html
index e23e034c014..657da124504 100644
--- a/docs/0.45/debugging.html
+++ b/docs/0.45/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.45/debugging/index.html b/docs/0.45/debugging/index.html index e23e034c014..657da124504 100644 --- a/docs/0.45/debugging/index.html +++ b/docs/0.45/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.45/getting-started.html b/docs/0.45/getting-started.html index ab2927d786d..a05f0960d0e 100644 --- a/docs/0.45/getting-started.html +++ b/docs/0.45/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.45/getting-started/index.html b/docs/0.45/getting-started/index.html index ab2927d786d..a05f0960d0e 100644 --- a/docs/0.45/getting-started/index.html +++ b/docs/0.45/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.45/images.html b/docs/0.45/images.html index 69e2a234390..a8d70ed314d 100644 --- a/docs/0.45/images.html +++ b/docs/0.45/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.45/images/index.html b/docs/0.45/images/index.html index 69e2a234390..a8d70ed314d 100644 --- a/docs/0.45/images/index.html +++ b/docs/0.45/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.45/navigation.html b/docs/0.45/navigation.html index 1cfd3cd75b4..5176aacc7a0 100644 --- a/docs/0.45/navigation.html +++ b/docs/0.45/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.45/navigation/index.html b/docs/0.45/navigation/index.html index 1cfd3cd75b4..5176aacc7a0 100644 --- a/docs/0.45/navigation/index.html +++ b/docs/0.45/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.45/running-on-device.html b/docs/0.45/running-on-device.html index 1508fc4cbb2..2982dae328a 100644 --- a/docs/0.45/running-on-device.html +++ b/docs/0.45/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.45/running-on-device/index.html b/docs/0.45/running-on-device/index.html index 1508fc4cbb2..2982dae328a 100644 --- a/docs/0.45/running-on-device/index.html +++ b/docs/0.45/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.45/signed-apk-android.html b/docs/0.45/signed-apk-android.html index 6bacde3734f..9cfb3f383c3 100644 --- a/docs/0.45/signed-apk-android.html +++ b/docs/0.45/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.45/signed-apk-android/index.html b/docs/0.45/signed-apk-android/index.html
index 6bacde3734f..9cfb3f383c3 100644
--- a/docs/0.45/signed-apk-android/index.html
+++ b/docs/0.45/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.45/understanding-cli.html b/docs/0.45/understanding-cli.html
index 9e335744b42..224c3a704b3 100644
--- a/docs/0.45/understanding-cli.html
+++ b/docs/0.45/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.45/understanding-cli/index.html b/docs/0.45/understanding-cli/index.html
index 9e335744b42..224c3a704b3 100644
--- a/docs/0.45/understanding-cli/index.html
+++ b/docs/0.45/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.46/debugging.html b/docs/0.46/debugging.html
index 70ebc36ac70..083937e1415 100644
--- a/docs/0.46/debugging.html
+++ b/docs/0.46/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.46/debugging/index.html b/docs/0.46/debugging/index.html index 70ebc36ac70..083937e1415 100644 --- a/docs/0.46/debugging/index.html +++ b/docs/0.46/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.46/getting-started.html b/docs/0.46/getting-started.html index 614ffb714fb..48967d116c0 100644 --- a/docs/0.46/getting-started.html +++ b/docs/0.46/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.46/getting-started/index.html b/docs/0.46/getting-started/index.html index 614ffb714fb..48967d116c0 100644 --- a/docs/0.46/getting-started/index.html +++ b/docs/0.46/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.46/images.html b/docs/0.46/images.html index 443eaf92ee9..dcf093ffb11 100644 --- a/docs/0.46/images.html +++ b/docs/0.46/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.46/images/index.html b/docs/0.46/images/index.html index 443eaf92ee9..dcf093ffb11 100644 --- a/docs/0.46/images/index.html +++ b/docs/0.46/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.46/navigation.html b/docs/0.46/navigation.html index 5cf231f5b19..0817f10be97 100644 --- a/docs/0.46/navigation.html +++ b/docs/0.46/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.46/navigation/index.html b/docs/0.46/navigation/index.html index 5cf231f5b19..0817f10be97 100644 --- a/docs/0.46/navigation/index.html +++ b/docs/0.46/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.46/running-on-device.html b/docs/0.46/running-on-device.html index 65d7c810c65..05fc4d2e2af 100644 --- a/docs/0.46/running-on-device.html +++ b/docs/0.46/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.46/running-on-device/index.html b/docs/0.46/running-on-device/index.html index 65d7c810c65..05fc4d2e2af 100644 --- a/docs/0.46/running-on-device/index.html +++ b/docs/0.46/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.46/signed-apk-android.html b/docs/0.46/signed-apk-android.html index e8f482c3154..f979da93c59 100644 --- a/docs/0.46/signed-apk-android.html +++ b/docs/0.46/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.46/signed-apk-android/index.html b/docs/0.46/signed-apk-android/index.html
index e8f482c3154..f979da93c59 100644
--- a/docs/0.46/signed-apk-android/index.html
+++ b/docs/0.46/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.46/understanding-cli.html b/docs/0.46/understanding-cli.html
index cf06c36cf7b..3000a78ddb6 100644
--- a/docs/0.46/understanding-cli.html
+++ b/docs/0.46/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.46/understanding-cli/index.html b/docs/0.46/understanding-cli/index.html
index cf06c36cf7b..3000a78ddb6 100644
--- a/docs/0.46/understanding-cli/index.html
+++ b/docs/0.46/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.47/debugging.html b/docs/0.47/debugging.html
index 3a139273932..5732fe7904c 100644
--- a/docs/0.47/debugging.html
+++ b/docs/0.47/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.47/debugging/index.html b/docs/0.47/debugging/index.html index 3a139273932..5732fe7904c 100644 --- a/docs/0.47/debugging/index.html +++ b/docs/0.47/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.47/getting-started.html b/docs/0.47/getting-started.html index 3b7b5b9a38f..eb7bdbc5b4a 100644 --- a/docs/0.47/getting-started.html +++ b/docs/0.47/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.47/getting-started/index.html b/docs/0.47/getting-started/index.html index 3b7b5b9a38f..eb7bdbc5b4a 100644 --- a/docs/0.47/getting-started/index.html +++ b/docs/0.47/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.47/images.html b/docs/0.47/images.html index e7c27b53f55..cd743b94e9b 100644 --- a/docs/0.47/images.html +++ b/docs/0.47/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.47/images/index.html b/docs/0.47/images/index.html index e7c27b53f55..cd743b94e9b 100644 --- a/docs/0.47/images/index.html +++ b/docs/0.47/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.47/navigation.html b/docs/0.47/navigation.html index 7ebfe76b5c0..0f29a1dbc6a 100644 --- a/docs/0.47/navigation.html +++ b/docs/0.47/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.47/navigation/index.html b/docs/0.47/navigation/index.html index 7ebfe76b5c0..0f29a1dbc6a 100644 --- a/docs/0.47/navigation/index.html +++ b/docs/0.47/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.47/running-on-device.html b/docs/0.47/running-on-device.html index bd58265d816..776099173a0 100644 --- a/docs/0.47/running-on-device.html +++ b/docs/0.47/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.47/running-on-device/index.html b/docs/0.47/running-on-device/index.html index bd58265d816..776099173a0 100644 --- a/docs/0.47/running-on-device/index.html +++ b/docs/0.47/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.47/signed-apk-android.html b/docs/0.47/signed-apk-android.html index a19a01f0e9a..b6302020f3f 100644 --- a/docs/0.47/signed-apk-android.html +++ b/docs/0.47/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.47/signed-apk-android/index.html b/docs/0.47/signed-apk-android/index.html
index a19a01f0e9a..b6302020f3f 100644
--- a/docs/0.47/signed-apk-android/index.html
+++ b/docs/0.47/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.47/understanding-cli.html b/docs/0.47/understanding-cli.html
index f098810b7a9..056a57f94dc 100644
--- a/docs/0.47/understanding-cli.html
+++ b/docs/0.47/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.47/understanding-cli/index.html b/docs/0.47/understanding-cli/index.html
index f098810b7a9..056a57f94dc 100644
--- a/docs/0.47/understanding-cli/index.html
+++ b/docs/0.47/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.48/debugging.html b/docs/0.48/debugging.html
index 0174da96d60..7e444e999ed 100644
--- a/docs/0.48/debugging.html
+++ b/docs/0.48/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.48/debugging/index.html b/docs/0.48/debugging/index.html index 0174da96d60..7e444e999ed 100644 --- a/docs/0.48/debugging/index.html +++ b/docs/0.48/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.48/getting-started.html b/docs/0.48/getting-started.html index dc50435e68d..ee17b90cb74 100644 --- a/docs/0.48/getting-started.html +++ b/docs/0.48/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.48/getting-started/index.html b/docs/0.48/getting-started/index.html index dc50435e68d..ee17b90cb74 100644 --- a/docs/0.48/getting-started/index.html +++ b/docs/0.48/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.48/images.html b/docs/0.48/images.html index f6bb8a95a57..3ed8602a737 100644 --- a/docs/0.48/images.html +++ b/docs/0.48/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.48/images/index.html b/docs/0.48/images/index.html index f6bb8a95a57..3ed8602a737 100644 --- a/docs/0.48/images/index.html +++ b/docs/0.48/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.48/navigation.html b/docs/0.48/navigation.html index 9eefffc92c5..8e9b7c946ab 100644 --- a/docs/0.48/navigation.html +++ b/docs/0.48/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.48/navigation/index.html b/docs/0.48/navigation/index.html index 9eefffc92c5..8e9b7c946ab 100644 --- a/docs/0.48/navigation/index.html +++ b/docs/0.48/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.48/running-on-device.html b/docs/0.48/running-on-device.html index 715fe7603f4..1ca282d0e55 100644 --- a/docs/0.48/running-on-device.html +++ b/docs/0.48/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.48/running-on-device/index.html b/docs/0.48/running-on-device/index.html index 715fe7603f4..1ca282d0e55 100644 --- a/docs/0.48/running-on-device/index.html +++ b/docs/0.48/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.48/signed-apk-android.html b/docs/0.48/signed-apk-android.html index 78838f52116..55977ddefd7 100644 --- a/docs/0.48/signed-apk-android.html +++ b/docs/0.48/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.48/signed-apk-android/index.html b/docs/0.48/signed-apk-android/index.html
index 78838f52116..55977ddefd7 100644
--- a/docs/0.48/signed-apk-android/index.html
+++ b/docs/0.48/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.48/understanding-cli.html b/docs/0.48/understanding-cli.html
index ce7f779c1a8..e79a8509e5b 100644
--- a/docs/0.48/understanding-cli.html
+++ b/docs/0.48/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.48/understanding-cli/index.html b/docs/0.48/understanding-cli/index.html
index ce7f779c1a8..e79a8509e5b 100644
--- a/docs/0.48/understanding-cli/index.html
+++ b/docs/0.48/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.49/debugging.html b/docs/0.49/debugging.html
index 21e80cf0dbd..d6f84c4be60 100644
--- a/docs/0.49/debugging.html
+++ b/docs/0.49/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.49/debugging/index.html b/docs/0.49/debugging/index.html index 21e80cf0dbd..d6f84c4be60 100644 --- a/docs/0.49/debugging/index.html +++ b/docs/0.49/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.49/getting-started.html b/docs/0.49/getting-started.html index ec1b22cc05a..e36669b44cc 100644 --- a/docs/0.49/getting-started.html +++ b/docs/0.49/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.49/getting-started/index.html b/docs/0.49/getting-started/index.html index ec1b22cc05a..e36669b44cc 100644 --- a/docs/0.49/getting-started/index.html +++ b/docs/0.49/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.49/images.html b/docs/0.49/images.html index 20aba5f89b4..d07491089db 100644 --- a/docs/0.49/images.html +++ b/docs/0.49/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.49/images/index.html b/docs/0.49/images/index.html index 20aba5f89b4..d07491089db 100644 --- a/docs/0.49/images/index.html +++ b/docs/0.49/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.49/navigation.html b/docs/0.49/navigation.html index 2ae0e4b9e61..dc559cb3a16 100644 --- a/docs/0.49/navigation.html +++ b/docs/0.49/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.49/navigation/index.html b/docs/0.49/navigation/index.html index 2ae0e4b9e61..dc559cb3a16 100644 --- a/docs/0.49/navigation/index.html +++ b/docs/0.49/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.49/running-on-device.html b/docs/0.49/running-on-device.html index fe3dbc34278..bb37f674518 100644 --- a/docs/0.49/running-on-device.html +++ b/docs/0.49/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.49/running-on-device/index.html b/docs/0.49/running-on-device/index.html index fe3dbc34278..bb37f674518 100644 --- a/docs/0.49/running-on-device/index.html +++ b/docs/0.49/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.49/signed-apk-android.html b/docs/0.49/signed-apk-android.html index fa015ab5f5c..0b676894672 100644 --- a/docs/0.49/signed-apk-android.html +++ b/docs/0.49/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.49/signed-apk-android/index.html b/docs/0.49/signed-apk-android/index.html
index fa015ab5f5c..0b676894672 100644
--- a/docs/0.49/signed-apk-android/index.html
+++ b/docs/0.49/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.49/understanding-cli.html b/docs/0.49/understanding-cli.html
index c972b542e7c..0cee0549f9c 100644
--- a/docs/0.49/understanding-cli.html
+++ b/docs/0.49/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.49/understanding-cli/index.html b/docs/0.49/understanding-cli/index.html
index c972b542e7c..0cee0549f9c 100644
--- a/docs/0.49/understanding-cli/index.html
+++ b/docs/0.49/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.5/debugging.html b/docs/0.5/debugging.html
index 66f0b95f2f4..7c0408aad93 100644
--- a/docs/0.5/debugging.html
+++ b/docs/0.5/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.5/debugging/index.html b/docs/0.5/debugging/index.html index 66f0b95f2f4..7c0408aad93 100644 --- a/docs/0.5/debugging/index.html +++ b/docs/0.5/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.5/getting-started.html b/docs/0.5/getting-started.html index d7117053c18..5fa38e1a244 100644 --- a/docs/0.5/getting-started.html +++ b/docs/0.5/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.5/getting-started/index.html b/docs/0.5/getting-started/index.html index d7117053c18..5fa38e1a244 100644 --- a/docs/0.5/getting-started/index.html +++ b/docs/0.5/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.5/images.html b/docs/0.5/images.html index 33a6a06cf34..32cd45cf63e 100644 --- a/docs/0.5/images.html +++ b/docs/0.5/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.5/images/index.html b/docs/0.5/images/index.html index 33a6a06cf34..32cd45cf63e 100644 --- a/docs/0.5/images/index.html +++ b/docs/0.5/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.5/navigation.html b/docs/0.5/navigation.html index ea068afeac6..d93402e6ff8 100644 --- a/docs/0.5/navigation.html +++ b/docs/0.5/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.5/navigation/index.html b/docs/0.5/navigation/index.html index ea068afeac6..d93402e6ff8 100644 --- a/docs/0.5/navigation/index.html +++ b/docs/0.5/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.5/running-on-device.html b/docs/0.5/running-on-device.html index 22e32fc6f9f..d60326965d3 100644 --- a/docs/0.5/running-on-device.html +++ b/docs/0.5/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.5/running-on-device/index.html b/docs/0.5/running-on-device/index.html index 22e32fc6f9f..d60326965d3 100644 --- a/docs/0.5/running-on-device/index.html +++ b/docs/0.5/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.5/signed-apk-android.html b/docs/0.5/signed-apk-android.html index 89fa753f81d..da147036a3e 100644 --- a/docs/0.5/signed-apk-android.html +++ b/docs/0.5/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.5/signed-apk-android/index.html b/docs/0.5/signed-apk-android/index.html
index 89fa753f81d..da147036a3e 100644
--- a/docs/0.5/signed-apk-android/index.html
+++ b/docs/0.5/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.5/understanding-cli.html b/docs/0.5/understanding-cli.html
index bea9af7be32..514c5f0dd25 100644
--- a/docs/0.5/understanding-cli.html
+++ b/docs/0.5/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.5/understanding-cli/index.html b/docs/0.5/understanding-cli/index.html
index bea9af7be32..514c5f0dd25 100644
--- a/docs/0.5/understanding-cli/index.html
+++ b/docs/0.5/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.50/debugging.html b/docs/0.50/debugging.html
index e9e4c338c0c..f5f74618767 100644
--- a/docs/0.50/debugging.html
+++ b/docs/0.50/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.50/debugging/index.html b/docs/0.50/debugging/index.html index e9e4c338c0c..f5f74618767 100644 --- a/docs/0.50/debugging/index.html +++ b/docs/0.50/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.50/getting-started.html b/docs/0.50/getting-started.html index 3e59590aca7..875b742f795 100644 --- a/docs/0.50/getting-started.html +++ b/docs/0.50/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.50/getting-started/index.html b/docs/0.50/getting-started/index.html index 3e59590aca7..875b742f795 100644 --- a/docs/0.50/getting-started/index.html +++ b/docs/0.50/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.50/images.html b/docs/0.50/images.html index e817419d54a..4464c62f0c8 100644 --- a/docs/0.50/images.html +++ b/docs/0.50/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.50/images/index.html b/docs/0.50/images/index.html index e817419d54a..4464c62f0c8 100644 --- a/docs/0.50/images/index.html +++ b/docs/0.50/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.50/navigation.html b/docs/0.50/navigation.html index 67dc3384406..fac663447b0 100644 --- a/docs/0.50/navigation.html +++ b/docs/0.50/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.50/navigation/index.html b/docs/0.50/navigation/index.html index 67dc3384406..fac663447b0 100644 --- a/docs/0.50/navigation/index.html +++ b/docs/0.50/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.50/running-on-device.html b/docs/0.50/running-on-device.html index 5e730d0490d..1da4b561d01 100644 --- a/docs/0.50/running-on-device.html +++ b/docs/0.50/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.50/running-on-device/index.html b/docs/0.50/running-on-device/index.html index 5e730d0490d..1da4b561d01 100644 --- a/docs/0.50/running-on-device/index.html +++ b/docs/0.50/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.50/signed-apk-android.html b/docs/0.50/signed-apk-android.html index 227269394f0..082cfd2ddf9 100644 --- a/docs/0.50/signed-apk-android.html +++ b/docs/0.50/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.50/signed-apk-android/index.html b/docs/0.50/signed-apk-android/index.html
index 227269394f0..082cfd2ddf9 100644
--- a/docs/0.50/signed-apk-android/index.html
+++ b/docs/0.50/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.50/understanding-cli.html b/docs/0.50/understanding-cli.html
index 0d4b82d8b10..c89be15cdfb 100644
--- a/docs/0.50/understanding-cli.html
+++ b/docs/0.50/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.50/understanding-cli/index.html b/docs/0.50/understanding-cli/index.html
index 0d4b82d8b10..c89be15cdfb 100644
--- a/docs/0.50/understanding-cli/index.html
+++ b/docs/0.50/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.51/debugging.html b/docs/0.51/debugging.html
index b189ecb8460..c7d32b12e8f 100644
--- a/docs/0.51/debugging.html
+++ b/docs/0.51/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.51/debugging/index.html b/docs/0.51/debugging/index.html index b189ecb8460..c7d32b12e8f 100644 --- a/docs/0.51/debugging/index.html +++ b/docs/0.51/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.51/getting-started.html b/docs/0.51/getting-started.html index 3efa810a119..cda0200b930 100644 --- a/docs/0.51/getting-started.html +++ b/docs/0.51/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.51/getting-started/index.html b/docs/0.51/getting-started/index.html index 3efa810a119..cda0200b930 100644 --- a/docs/0.51/getting-started/index.html +++ b/docs/0.51/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.51/images.html b/docs/0.51/images.html index adb4e76cc5f..90d92f0a7e4 100644 --- a/docs/0.51/images.html +++ b/docs/0.51/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.51/images/index.html b/docs/0.51/images/index.html index adb4e76cc5f..90d92f0a7e4 100644 --- a/docs/0.51/images/index.html +++ b/docs/0.51/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.51/navigation.html b/docs/0.51/navigation.html index 58604067133..86530e8bfcd 100644 --- a/docs/0.51/navigation.html +++ b/docs/0.51/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.51/navigation/index.html b/docs/0.51/navigation/index.html index 58604067133..86530e8bfcd 100644 --- a/docs/0.51/navigation/index.html +++ b/docs/0.51/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.51/running-on-device.html b/docs/0.51/running-on-device.html index 27501c03faa..f9985cf1692 100644 --- a/docs/0.51/running-on-device.html +++ b/docs/0.51/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.51/running-on-device/index.html b/docs/0.51/running-on-device/index.html index 27501c03faa..f9985cf1692 100644 --- a/docs/0.51/running-on-device/index.html +++ b/docs/0.51/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.51/signed-apk-android.html b/docs/0.51/signed-apk-android.html index 5d1af545fce..d3ac72fd5d3 100644 --- a/docs/0.51/signed-apk-android.html +++ b/docs/0.51/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.51/signed-apk-android/index.html b/docs/0.51/signed-apk-android/index.html
index 5d1af545fce..d3ac72fd5d3 100644
--- a/docs/0.51/signed-apk-android/index.html
+++ b/docs/0.51/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.51/understanding-cli.html b/docs/0.51/understanding-cli.html
index 117c5773aae..c47f031dc67 100644
--- a/docs/0.51/understanding-cli.html
+++ b/docs/0.51/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.51/understanding-cli/index.html b/docs/0.51/understanding-cli/index.html
index 117c5773aae..c47f031dc67 100644
--- a/docs/0.51/understanding-cli/index.html
+++ b/docs/0.51/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.52/debugging.html b/docs/0.52/debugging.html
index e6adb05ca4e..806e1c96270 100644
--- a/docs/0.52/debugging.html
+++ b/docs/0.52/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.52/debugging/index.html b/docs/0.52/debugging/index.html index e6adb05ca4e..806e1c96270 100644 --- a/docs/0.52/debugging/index.html +++ b/docs/0.52/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.52/getting-started.html b/docs/0.52/getting-started.html index 9dc48d8600a..c791ca8fab4 100644 --- a/docs/0.52/getting-started.html +++ b/docs/0.52/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.52/getting-started/index.html b/docs/0.52/getting-started/index.html index 9dc48d8600a..c791ca8fab4 100644 --- a/docs/0.52/getting-started/index.html +++ b/docs/0.52/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.52/images.html b/docs/0.52/images.html index b7999af5a7f..04bfea44f0a 100644 --- a/docs/0.52/images.html +++ b/docs/0.52/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.52/images/index.html b/docs/0.52/images/index.html index b7999af5a7f..04bfea44f0a 100644 --- a/docs/0.52/images/index.html +++ b/docs/0.52/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.52/navigation.html b/docs/0.52/navigation.html index 1b747b3531f..f202766a067 100644 --- a/docs/0.52/navigation.html +++ b/docs/0.52/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.52/navigation/index.html b/docs/0.52/navigation/index.html index 1b747b3531f..f202766a067 100644 --- a/docs/0.52/navigation/index.html +++ b/docs/0.52/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.52/running-on-device.html b/docs/0.52/running-on-device.html index 4281a2875c9..bb786e02225 100644 --- a/docs/0.52/running-on-device.html +++ b/docs/0.52/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.52/running-on-device/index.html b/docs/0.52/running-on-device/index.html index 4281a2875c9..bb786e02225 100644 --- a/docs/0.52/running-on-device/index.html +++ b/docs/0.52/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.52/signed-apk-android.html b/docs/0.52/signed-apk-android.html index f5def13cd72..e36f1f9f64b 100644 --- a/docs/0.52/signed-apk-android.html +++ b/docs/0.52/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.52/signed-apk-android/index.html b/docs/0.52/signed-apk-android/index.html
index f5def13cd72..e36f1f9f64b 100644
--- a/docs/0.52/signed-apk-android/index.html
+++ b/docs/0.52/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.52/understanding-cli.html b/docs/0.52/understanding-cli.html
index abb93f6c459..56aca734083 100644
--- a/docs/0.52/understanding-cli.html
+++ b/docs/0.52/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.52/understanding-cli/index.html b/docs/0.52/understanding-cli/index.html
index abb93f6c459..56aca734083 100644
--- a/docs/0.52/understanding-cli/index.html
+++ b/docs/0.52/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.53/debugging.html b/docs/0.53/debugging.html
index ecc059fd1c2..05831dadbb4 100644
--- a/docs/0.53/debugging.html
+++ b/docs/0.53/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.53/debugging/index.html b/docs/0.53/debugging/index.html index ecc059fd1c2..05831dadbb4 100644 --- a/docs/0.53/debugging/index.html +++ b/docs/0.53/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.53/getting-started.html b/docs/0.53/getting-started.html index 939d670546e..dc2ff348ed1 100644 --- a/docs/0.53/getting-started.html +++ b/docs/0.53/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.53/getting-started/index.html b/docs/0.53/getting-started/index.html index 939d670546e..dc2ff348ed1 100644 --- a/docs/0.53/getting-started/index.html +++ b/docs/0.53/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.53/images.html b/docs/0.53/images.html index 8fd2b97e143..e2710548ae8 100644 --- a/docs/0.53/images.html +++ b/docs/0.53/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.53/images/index.html b/docs/0.53/images/index.html index 8fd2b97e143..e2710548ae8 100644 --- a/docs/0.53/images/index.html +++ b/docs/0.53/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.53/navigation.html b/docs/0.53/navigation.html index 5b2e54759ed..0ecc0434814 100644 --- a/docs/0.53/navigation.html +++ b/docs/0.53/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.53/navigation/index.html b/docs/0.53/navigation/index.html index 5b2e54759ed..0ecc0434814 100644 --- a/docs/0.53/navigation/index.html +++ b/docs/0.53/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.53/running-on-device.html b/docs/0.53/running-on-device.html index 40b5f863185..b1dd7dd17b7 100644 --- a/docs/0.53/running-on-device.html +++ b/docs/0.53/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.53/running-on-device/index.html b/docs/0.53/running-on-device/index.html index 40b5f863185..b1dd7dd17b7 100644 --- a/docs/0.53/running-on-device/index.html +++ b/docs/0.53/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.53/signed-apk-android.html b/docs/0.53/signed-apk-android.html index 2cac1a602c6..202ec36872b 100644 --- a/docs/0.53/signed-apk-android.html +++ b/docs/0.53/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.53/signed-apk-android/index.html b/docs/0.53/signed-apk-android/index.html
index 2cac1a602c6..202ec36872b 100644
--- a/docs/0.53/signed-apk-android/index.html
+++ b/docs/0.53/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.53/understanding-cli.html b/docs/0.53/understanding-cli.html
index 3082d5e94c9..4b2ba485f75 100644
--- a/docs/0.53/understanding-cli.html
+++ b/docs/0.53/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.53/understanding-cli/index.html b/docs/0.53/understanding-cli/index.html
index 3082d5e94c9..4b2ba485f75 100644
--- a/docs/0.53/understanding-cli/index.html
+++ b/docs/0.53/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.54/debugging.html b/docs/0.54/debugging.html
index ccc2bf1bd7d..dc13703492c 100644
--- a/docs/0.54/debugging.html
+++ b/docs/0.54/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.54/debugging/index.html b/docs/0.54/debugging/index.html index ccc2bf1bd7d..dc13703492c 100644 --- a/docs/0.54/debugging/index.html +++ b/docs/0.54/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.54/getting-started.html b/docs/0.54/getting-started.html index 31fb2d1b555..aed761141d5 100644 --- a/docs/0.54/getting-started.html +++ b/docs/0.54/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.54/getting-started/index.html b/docs/0.54/getting-started/index.html index 31fb2d1b555..aed761141d5 100644 --- a/docs/0.54/getting-started/index.html +++ b/docs/0.54/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.54/images.html b/docs/0.54/images.html index b7627e18c05..0935f7f3ff0 100644 --- a/docs/0.54/images.html +++ b/docs/0.54/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.54/images/index.html b/docs/0.54/images/index.html index b7627e18c05..0935f7f3ff0 100644 --- a/docs/0.54/images/index.html +++ b/docs/0.54/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.54/navigation.html b/docs/0.54/navigation.html index b2d474bf87e..0b66524bc8d 100644 --- a/docs/0.54/navigation.html +++ b/docs/0.54/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.54/navigation/index.html b/docs/0.54/navigation/index.html index b2d474bf87e..0b66524bc8d 100644 --- a/docs/0.54/navigation/index.html +++ b/docs/0.54/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.54/running-on-device.html b/docs/0.54/running-on-device.html index 2d200582edf..74696e2f35a 100644 --- a/docs/0.54/running-on-device.html +++ b/docs/0.54/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.54/running-on-device/index.html b/docs/0.54/running-on-device/index.html index 2d200582edf..74696e2f35a 100644 --- a/docs/0.54/running-on-device/index.html +++ b/docs/0.54/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.54/signed-apk-android.html b/docs/0.54/signed-apk-android.html index 1aea014e094..cfd206cc199 100644 --- a/docs/0.54/signed-apk-android.html +++ b/docs/0.54/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.54/signed-apk-android/index.html b/docs/0.54/signed-apk-android/index.html
index 1aea014e094..cfd206cc199 100644
--- a/docs/0.54/signed-apk-android/index.html
+++ b/docs/0.54/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.54/understanding-cli.html b/docs/0.54/understanding-cli.html
index 072ebd75cc4..d3687320a52 100644
--- a/docs/0.54/understanding-cli.html
+++ b/docs/0.54/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.54/understanding-cli/index.html b/docs/0.54/understanding-cli/index.html
index 072ebd75cc4..d3687320a52 100644
--- a/docs/0.54/understanding-cli/index.html
+++ b/docs/0.54/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.55/debugging.html b/docs/0.55/debugging.html
index cdf033664b2..66b1f6f8f4b 100644
--- a/docs/0.55/debugging.html
+++ b/docs/0.55/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.55/debugging/index.html b/docs/0.55/debugging/index.html index cdf033664b2..66b1f6f8f4b 100644 --- a/docs/0.55/debugging/index.html +++ b/docs/0.55/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.55/getting-started.html b/docs/0.55/getting-started.html index 0c1bc31ebb5..baeb3450a93 100644 --- a/docs/0.55/getting-started.html +++ b/docs/0.55/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.55/getting-started/index.html b/docs/0.55/getting-started/index.html index 0c1bc31ebb5..baeb3450a93 100644 --- a/docs/0.55/getting-started/index.html +++ b/docs/0.55/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.55/images.html b/docs/0.55/images.html index 7aa6eca3a09..7abc89626b3 100644 --- a/docs/0.55/images.html +++ b/docs/0.55/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.55/images/index.html b/docs/0.55/images/index.html index 7aa6eca3a09..7abc89626b3 100644 --- a/docs/0.55/images/index.html +++ b/docs/0.55/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.55/navigation.html b/docs/0.55/navigation.html index 2fd40a46768..ea12b426cd8 100644 --- a/docs/0.55/navigation.html +++ b/docs/0.55/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.55/navigation/index.html b/docs/0.55/navigation/index.html index 2fd40a46768..ea12b426cd8 100644 --- a/docs/0.55/navigation/index.html +++ b/docs/0.55/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.55/running-on-device.html b/docs/0.55/running-on-device.html index ded4201300d..a4291a8c1f5 100644 --- a/docs/0.55/running-on-device.html +++ b/docs/0.55/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.55/running-on-device/index.html b/docs/0.55/running-on-device/index.html index ded4201300d..a4291a8c1f5 100644 --- a/docs/0.55/running-on-device/index.html +++ b/docs/0.55/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.55/signed-apk-android.html b/docs/0.55/signed-apk-android.html index 81181314f32..30fd430f809 100644 --- a/docs/0.55/signed-apk-android.html +++ b/docs/0.55/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.55/signed-apk-android/index.html b/docs/0.55/signed-apk-android/index.html
index 81181314f32..30fd430f809 100644
--- a/docs/0.55/signed-apk-android/index.html
+++ b/docs/0.55/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.55/understanding-cli.html b/docs/0.55/understanding-cli.html
index 46e99a30426..e452e1ed440 100644
--- a/docs/0.55/understanding-cli.html
+++ b/docs/0.55/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.55/understanding-cli/index.html b/docs/0.55/understanding-cli/index.html
index 46e99a30426..e452e1ed440 100644
--- a/docs/0.55/understanding-cli/index.html
+++ b/docs/0.55/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.56/debugging.html b/docs/0.56/debugging.html
index 53b775e7ae6..dc6d5d2da12 100644
--- a/docs/0.56/debugging.html
+++ b/docs/0.56/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.56/debugging/index.html b/docs/0.56/debugging/index.html index 53b775e7ae6..dc6d5d2da12 100644 --- a/docs/0.56/debugging/index.html +++ b/docs/0.56/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.56/getting-started.html b/docs/0.56/getting-started.html index 23d5ce9b148..8a761d08fc0 100644 --- a/docs/0.56/getting-started.html +++ b/docs/0.56/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.56/getting-started/index.html b/docs/0.56/getting-started/index.html index 23d5ce9b148..8a761d08fc0 100644 --- a/docs/0.56/getting-started/index.html +++ b/docs/0.56/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.56/images.html b/docs/0.56/images.html index c5e0720020d..e9fa9f4bbe0 100644 --- a/docs/0.56/images.html +++ b/docs/0.56/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.56/images/index.html b/docs/0.56/images/index.html index c5e0720020d..e9fa9f4bbe0 100644 --- a/docs/0.56/images/index.html +++ b/docs/0.56/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.56/navigation.html b/docs/0.56/navigation.html index 1cdf6ed682d..29be933a783 100644 --- a/docs/0.56/navigation.html +++ b/docs/0.56/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.56/navigation/index.html b/docs/0.56/navigation/index.html index 1cdf6ed682d..29be933a783 100644 --- a/docs/0.56/navigation/index.html +++ b/docs/0.56/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.56/running-on-device.html b/docs/0.56/running-on-device.html index 1a3786cac96..82e2b5fca3a 100644 --- a/docs/0.56/running-on-device.html +++ b/docs/0.56/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.56/running-on-device/index.html b/docs/0.56/running-on-device/index.html index 1a3786cac96..82e2b5fca3a 100644 --- a/docs/0.56/running-on-device/index.html +++ b/docs/0.56/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.56/signed-apk-android.html b/docs/0.56/signed-apk-android.html index aaab2d07f44..29f8e0f2c4f 100644 --- a/docs/0.56/signed-apk-android.html +++ b/docs/0.56/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.56/signed-apk-android/index.html b/docs/0.56/signed-apk-android/index.html
index aaab2d07f44..29f8e0f2c4f 100644
--- a/docs/0.56/signed-apk-android/index.html
+++ b/docs/0.56/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.56/understanding-cli.html b/docs/0.56/understanding-cli.html
index 9d01b3ec1e9..a76c0814757 100644
--- a/docs/0.56/understanding-cli.html
+++ b/docs/0.56/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.56/understanding-cli/index.html b/docs/0.56/understanding-cli/index.html
index 9d01b3ec1e9..a76c0814757 100644
--- a/docs/0.56/understanding-cli/index.html
+++ b/docs/0.56/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.6/debugging.html b/docs/0.6/debugging.html
index 3a830e7dea6..0537ffeeba3 100644
--- a/docs/0.6/debugging.html
+++ b/docs/0.6/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.6/debugging/index.html b/docs/0.6/debugging/index.html index 3a830e7dea6..0537ffeeba3 100644 --- a/docs/0.6/debugging/index.html +++ b/docs/0.6/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.6/getting-started.html b/docs/0.6/getting-started.html index bfe3ca0929d..5fd4121474d 100644 --- a/docs/0.6/getting-started.html +++ b/docs/0.6/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.6/getting-started/index.html b/docs/0.6/getting-started/index.html index bfe3ca0929d..5fd4121474d 100644 --- a/docs/0.6/getting-started/index.html +++ b/docs/0.6/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.6/images.html b/docs/0.6/images.html index cf9ccab720f..02125dc1fe3 100644 --- a/docs/0.6/images.html +++ b/docs/0.6/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.6/images/index.html b/docs/0.6/images/index.html index cf9ccab720f..02125dc1fe3 100644 --- a/docs/0.6/images/index.html +++ b/docs/0.6/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.6/navigation.html b/docs/0.6/navigation.html index d4561ac6a7f..59dcac9eb24 100644 --- a/docs/0.6/navigation.html +++ b/docs/0.6/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.6/navigation/index.html b/docs/0.6/navigation/index.html index d4561ac6a7f..59dcac9eb24 100644 --- a/docs/0.6/navigation/index.html +++ b/docs/0.6/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.6/running-on-device.html b/docs/0.6/running-on-device.html index 276cbde0d81..1bfe71adcad 100644 --- a/docs/0.6/running-on-device.html +++ b/docs/0.6/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.6/running-on-device/index.html b/docs/0.6/running-on-device/index.html index 276cbde0d81..1bfe71adcad 100644 --- a/docs/0.6/running-on-device/index.html +++ b/docs/0.6/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.6/signed-apk-android.html b/docs/0.6/signed-apk-android.html index 81fb0abd3d8..52c8cc95d5d 100644 --- a/docs/0.6/signed-apk-android.html +++ b/docs/0.6/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.6/signed-apk-android/index.html b/docs/0.6/signed-apk-android/index.html
index 81fb0abd3d8..52c8cc95d5d 100644
--- a/docs/0.6/signed-apk-android/index.html
+++ b/docs/0.6/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.6/understanding-cli.html b/docs/0.6/understanding-cli.html
index f4f25496f96..1331f957929 100644
--- a/docs/0.6/understanding-cli.html
+++ b/docs/0.6/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.6/understanding-cli/index.html b/docs/0.6/understanding-cli/index.html
index f4f25496f96..1331f957929 100644
--- a/docs/0.6/understanding-cli/index.html
+++ b/docs/0.6/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.7/debugging.html b/docs/0.7/debugging.html
index 8079bab2b59..16a0010961d 100644
--- a/docs/0.7/debugging.html
+++ b/docs/0.7/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.7/debugging/index.html b/docs/0.7/debugging/index.html index 8079bab2b59..16a0010961d 100644 --- a/docs/0.7/debugging/index.html +++ b/docs/0.7/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.7/getting-started.html b/docs/0.7/getting-started.html index c24611f2556..9309f37e0c8 100644 --- a/docs/0.7/getting-started.html +++ b/docs/0.7/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.7/getting-started/index.html b/docs/0.7/getting-started/index.html index c24611f2556..9309f37e0c8 100644 --- a/docs/0.7/getting-started/index.html +++ b/docs/0.7/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.7/images.html b/docs/0.7/images.html index 68bb2bdeae2..9bb1616b5cf 100644 --- a/docs/0.7/images.html +++ b/docs/0.7/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.7/images/index.html b/docs/0.7/images/index.html index 68bb2bdeae2..9bb1616b5cf 100644 --- a/docs/0.7/images/index.html +++ b/docs/0.7/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.7/navigation.html b/docs/0.7/navigation.html index b942aa9180d..2e7054ae9d7 100644 --- a/docs/0.7/navigation.html +++ b/docs/0.7/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.7/navigation/index.html b/docs/0.7/navigation/index.html index b942aa9180d..2e7054ae9d7 100644 --- a/docs/0.7/navigation/index.html +++ b/docs/0.7/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.7/running-on-device.html b/docs/0.7/running-on-device.html index 00c50b7435d..d1aec2ae95c 100644 --- a/docs/0.7/running-on-device.html +++ b/docs/0.7/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.7/running-on-device/index.html b/docs/0.7/running-on-device/index.html index 00c50b7435d..d1aec2ae95c 100644 --- a/docs/0.7/running-on-device/index.html +++ b/docs/0.7/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.7/signed-apk-android.html b/docs/0.7/signed-apk-android.html index 0f50ccbd08e..cce05a04088 100644 --- a/docs/0.7/signed-apk-android.html +++ b/docs/0.7/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.7/signed-apk-android/index.html b/docs/0.7/signed-apk-android/index.html
index 0f50ccbd08e..cce05a04088 100644
--- a/docs/0.7/signed-apk-android/index.html
+++ b/docs/0.7/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.7/understanding-cli.html b/docs/0.7/understanding-cli.html
index ebc26853e67..86535f93f0b 100644
--- a/docs/0.7/understanding-cli.html
+++ b/docs/0.7/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.7/understanding-cli/index.html b/docs/0.7/understanding-cli/index.html
index ebc26853e67..86535f93f0b 100644
--- a/docs/0.7/understanding-cli/index.html
+++ b/docs/0.7/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.8/debugging.html b/docs/0.8/debugging.html
index 7c45bee7dff..22028d2a1e4 100644
--- a/docs/0.8/debugging.html
+++ b/docs/0.8/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.8/debugging/index.html b/docs/0.8/debugging/index.html index 7c45bee7dff..22028d2a1e4 100644 --- a/docs/0.8/debugging/index.html +++ b/docs/0.8/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.8/getting-started.html b/docs/0.8/getting-started.html index a500efd1d92..f54da165055 100644 --- a/docs/0.8/getting-started.html +++ b/docs/0.8/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.8/getting-started/index.html b/docs/0.8/getting-started/index.html index a500efd1d92..f54da165055 100644 --- a/docs/0.8/getting-started/index.html +++ b/docs/0.8/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.8/images.html b/docs/0.8/images.html index 2dcaf46a221..468d0c63224 100644 --- a/docs/0.8/images.html +++ b/docs/0.8/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.8/images/index.html b/docs/0.8/images/index.html index 2dcaf46a221..468d0c63224 100644 --- a/docs/0.8/images/index.html +++ b/docs/0.8/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.8/navigation.html b/docs/0.8/navigation.html index 8442dbf0d1f..52f46ee6ecb 100644 --- a/docs/0.8/navigation.html +++ b/docs/0.8/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.8/navigation/index.html b/docs/0.8/navigation/index.html index 8442dbf0d1f..52f46ee6ecb 100644 --- a/docs/0.8/navigation/index.html +++ b/docs/0.8/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.8/running-on-device.html b/docs/0.8/running-on-device.html index 76b94663d9f..270e2ef9c43 100644 --- a/docs/0.8/running-on-device.html +++ b/docs/0.8/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.8/running-on-device/index.html b/docs/0.8/running-on-device/index.html index 76b94663d9f..270e2ef9c43 100644 --- a/docs/0.8/running-on-device/index.html +++ b/docs/0.8/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.8/signed-apk-android.html b/docs/0.8/signed-apk-android.html index 9089f75e898..da08e7b1e89 100644 --- a/docs/0.8/signed-apk-android.html +++ b/docs/0.8/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.8/signed-apk-android/index.html b/docs/0.8/signed-apk-android/index.html
index 9089f75e898..da08e7b1e89 100644
--- a/docs/0.8/signed-apk-android/index.html
+++ b/docs/0.8/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.8/understanding-cli.html b/docs/0.8/understanding-cli.html
index ae225af278d..249ea7fd3b3 100644
--- a/docs/0.8/understanding-cli.html
+++ b/docs/0.8/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.8/understanding-cli/index.html b/docs/0.8/understanding-cli/index.html
index ae225af278d..249ea7fd3b3 100644
--- a/docs/0.8/understanding-cli/index.html
+++ b/docs/0.8/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.9/debugging.html b/docs/0.9/debugging.html
index 5eda0a79000..707e2a1c5a9 100644
--- a/docs/0.9/debugging.html
+++ b/docs/0.9/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.9/debugging/index.html b/docs/0.9/debugging/index.html index 5eda0a79000..707e2a1c5a9 100644 --- a/docs/0.9/debugging/index.html +++ b/docs/0.9/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/0.9/getting-started.html b/docs/0.9/getting-started.html index 2cd5276133c..b11df5e2af2 100644 --- a/docs/0.9/getting-started.html +++ b/docs/0.9/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.9/getting-started/index.html b/docs/0.9/getting-started/index.html index 2cd5276133c..b11df5e2af2 100644 --- a/docs/0.9/getting-started/index.html +++ b/docs/0.9/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/0.9/images.html b/docs/0.9/images.html index 2db966aa565..5b4c34d7a72 100644 --- a/docs/0.9/images.html +++ b/docs/0.9/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.9/images/index.html b/docs/0.9/images/index.html index 2db966aa565..5b4c34d7a72 100644 --- a/docs/0.9/images/index.html +++ b/docs/0.9/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/0.9/navigation.html b/docs/0.9/navigation.html index 010f0ab3152..a7a17d597f4 100644 --- a/docs/0.9/navigation.html +++ b/docs/0.9/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.9/navigation/index.html b/docs/0.9/navigation/index.html index 010f0ab3152..a7a17d597f4 100644 --- a/docs/0.9/navigation/index.html +++ b/docs/0.9/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/0.9/running-on-device.html b/docs/0.9/running-on-device.html index f90a20f42d1..23beb99ad8f 100644 --- a/docs/0.9/running-on-device.html +++ b/docs/0.9/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.9/running-on-device/index.html b/docs/0.9/running-on-device/index.html index f90a20f42d1..23beb99ad8f 100644 --- a/docs/0.9/running-on-device/index.html +++ b/docs/0.9/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/0.9/signed-apk-android.html b/docs/0.9/signed-apk-android.html index 8a7896eeed7..f003d45a97f 100644 --- a/docs/0.9/signed-apk-android.html +++ b/docs/0.9/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.9/signed-apk-android/index.html b/docs/0.9/signed-apk-android/index.html
index 8a7896eeed7..f003d45a97f 100644
--- a/docs/0.9/signed-apk-android/index.html
+++ b/docs/0.9/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/0.9/understanding-cli.html b/docs/0.9/understanding-cli.html
index 082bc32b341..193d51118a6 100644
--- a/docs/0.9/understanding-cli.html
+++ b/docs/0.9/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/0.9/understanding-cli/index.html b/docs/0.9/understanding-cli/index.html
index 082bc32b341..193d51118a6 100644
--- a/docs/0.9/understanding-cli/index.html
+++ b/docs/0.9/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/debugging.html b/docs/debugging.html
index 63a335da195..871fea9700e 100644
--- a/docs/debugging.html
+++ b/docs/debugging.html
@@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);
   

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/debugging/index.html b/docs/debugging/index.html index 63a335da195..871fea9700e 100644 --- a/docs/debugging/index.html +++ b/docs/debugging/index.html @@ -113,7 +113,7 @@ YellowBox.ignoreWarnings(['Warning: ...']);

Projects with Native Code Only

The remainder of this guide only applies to projects made with react-native init - or to those made with Create React Native App which have since ejected. For + or to those made with expo init or Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository. @@ -126,11 +126,11 @@ YellowBox.ignoreWarnings(['Warning: ...']);

You may also access these through Debug → Open System Log... in the iOS Simulator or by running adb logcat *:S ReactNative:V ReactNativeJS:V in a terminal while an Android app is running on a device or emulator.

-

If you're using Create React Native App, console logs already appear in the same terminal output as the packager.

+

If you're using Create React Native App or Expo CLI, console logs already appear in the same terminal output as the packager.

Debugging on a device with Chrome Developer Tools

-

If you're using Create React Native App, this is configured for you already.

+

If you're using Create React Native App or Expo CLI, this is configured for you already.

On iOS devices, open the file RCTWebSocketExecutor.m and change "localhost" to the IP address of your computer, then select "Debug JS Remotely" from the Developer Menu.

On Android 5.0+ devices connected via USB, you can use the adb command line tool to setup port forwarding from the device to your computer:

diff --git a/docs/getting-started.html b/docs/getting-started.html index d0125db7113..3fda91f341c 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/getting-started/index.html b/docs/getting-started/index.html index d0125db7113..3fda91f341c 100644 --- a/docs/getting-started/index.html +++ b/docs/getting-started/index.html @@ -260,7 +260,7 @@ npm start

Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

-

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.0 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

+

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 8.1 (Oreo) SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Android Studio Welcome

@@ -270,9 +270,9 @@ npm start

The SDK Manager can also be found within the Android Studio "Preferences" dialog, under Appearance & Behavior → System Settings → Android SDK.

-

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.0 (Oreo) entry, then make sure the following items are all checked:

+

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 8.1 (Oreo) entry, then make sure the following items are all checked:

@@ -298,17 +298,17 @@ npm start

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

export ANDROID_HOME=$HOME/Android/Sdk
+export PATH=$PATH:$ANDROID_HOME/emulator
 export PATH=$PATH:$ANDROID_HOME/tools
 export PATH=$PATH:$ANDROID_HOME/tools/bin
 export PATH=$PATH:$ANDROID_HOME/platform-tools
-export PATH=$PATH:$ANDROID_HOME/emulator
 

diff --git a/docs/images.html b/docs/images.html index 763dfe1dd73..ac3fd298fe2 100644 --- a/docs/images.html +++ b/docs/images.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/images/index.html b/docs/images/index.html index 763dfe1dd73..ac3fd298fe2 100644 --- a/docs/images/index.html +++ b/docs/images/index.html @@ -77,7 +77,7 @@ var icon = this.props.active

Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Static Non-Image Resources

The require syntax described above can be used to statically include audio, video or document files in your project as well. Most common file types are supported including .mp3, .wav, .mp4, .mov, .html and .pdf. See packager defaults for the full list.

-

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

+

You can add support for other types by creating a packager config file (see the packager config file for the full list of configuration options).

A caveat is that videos must use absolute positioning instead of flexGrow, since size info is not currently passed for non-image assets. This limitation doesn't occur for videos that are linked directly into Xcode or the Assets folder for Android.

Images From Hybrid App's Resources

If you are building a hybrid app (some UIs in React Native, some UIs in platform code) you can still use images that are already bundled into the app.

diff --git a/docs/navigation.html b/docs/navigation.html index 2c8faece5b9..cf9742e1e00 100644 --- a/docs/navigation.html +++ b/docs/navigation.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/navigation/index.html b/docs/navigation/index.html index 2c8faece5b9..cf9742e1e00 100644 --- a/docs/navigation/index.html +++ b/docs/navigation/index.html @@ -36,7 +36,7 @@
Edit

Navigating Between Screens

Mobile apps are rarely made up of a single screen. Managing the presentation of, and transition between, multiple screens is typically handled by what is known as a navigator.

This guide covers the various navigation components available in React Native. If you are just getting started with navigation, you will probably want to use React Navigation. React Navigation provides an easy to use navigation solution, with the ability to present common stack navigation and tabbed navigation patterns on both iOS and Android.

If you're only targeting iOS, you may want to also check out NavigatorIOS as a way of providing a native look and feel with minimal configuration, as it provides a wrapper around the native UINavigationController class. This component will not work on Android, however.

-

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms:react-native-navigation.

+

If you'd like to achieve a native look and feel on both iOS and Android, or you're integrating React Native into an app that already manages navigation natively, the following library provides native navigation on both platforms: react-native-navigation.

React Navigation

The community solution to navigation is a standalone library that allows developers to set up the screens of an app with just a few lines of code.

The first step is to install in your project:

diff --git a/docs/running-on-device.html b/docs/running-on-device.html index e3f5d41323d..4766bc6e124 100644 --- a/docs/running-on-device.html +++ b/docs/running-on-device.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/running-on-device/index.html b/docs/running-on-device/index.html index e3f5d41323d..4766bc6e124 100644 --- a/docs/running-on-device/index.html +++ b/docs/running-on-device/index.html @@ -102,7 +102,7 @@ }

It's always a good idea to test your app on an actual device before releasing it to your users. This document will guide you through the necessary steps to run your React Native app on a device and to get it ready for production.

-

If you used Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

+

If you used Expo CLI or Create React Native App to set up your project, you can preview your app on a device by scanning the QR code with the Expo app. In order to build and run your app on a device, you will need to eject and install the native code dependencies from the Getting Started guide.

-

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Create React Native App, which will allow you to run your app using the Expo client app.

+

A Mac is required in order to build your app for iOS devices. Alternatively, you can refer to the Quick Start instructions to learn how to build your app using Expo CLI, which will allow you to run your app using the Expo client app.

1. Plug in your device via USB

Connect your iOS device to your Mac using a USB to Lightning cable. Navigate to the ios folder in your project, then open the .xcodeproj file, or if you are using CocoaPods open .xcworkspace, within it using Xcode.

diff --git a/docs/signed-apk-android.html b/docs/signed-apk-android.html index f09d17d01a5..77d55bd9d53 100644 --- a/docs/signed-apk-android.html +++ b/docs/signed-apk-android.html @@ -102,7 +102,7 @@ $ ./gradlew assembleRelease

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/signed-apk-android/index.html b/docs/signed-apk-android/index.html
index f09d17d01a5..77d55bd9d53 100644
--- a/docs/signed-apk-android/index.html
+++ b/docs/signed-apk-android/index.html
@@ -102,7 +102,7 @@ $ ./gradlew assembleRelease
 

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make the release build skip bundling JS and assets into the APK.

-

The generated APK can be found under android/app/build/outputs/apk/app-release.apk, and is ready to be distributed.

+

The generated APK can be found under android/app/build/outputs/apk/release/app-release.apk, and is ready to be distributed.

Testing the release build of your app

Before uploading the release build to the Play Store, make sure you test it thoroughly. First uninstall any previous version of the app you already have installed. Install it on the device using:

$ react-native run-android --variant=release
diff --git a/docs/understanding-cli.html b/docs/understanding-cli.html
index 874d4d0e147..4b49d82c13a 100644
--- a/docs/understanding-cli.html
+++ b/docs/understanding-cli.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');
diff --git a/docs/understanding-cli/index.html b/docs/understanding-cli/index.html
index 874d4d0e147..4b49d82c13a 100644
--- a/docs/understanding-cli/index.html
+++ b/docs/understanding-cli/index.html
@@ -76,7 +76,7 @@
 

CLI Configs

When using react-native start, its platform derivatives, and react-native bundle you can use a file to define the CLI options used by React Native by default. If you create a file rn-cli.config.js in the root of your project, it will be evaluated and options for the commands will come from there.

-

You can see the options for the CLI config file inside the source code for Metro here, and here is a common rn-cli.config.js used for supporting TypeScript in React Native projects:

+

You can see the options for the CLI config on the metro website. Here's a common rn-cli.config.js used for supporting TypeScript in React Native projects:

module.exports = {
   getTransformModulePath() {
     return require.resolve('react-native-typescript-transformer');