A foundational component for inputting text into the app via a keyboard. Props provide configurability for several features, such as auto-correction, auto-capitalization, placeholder text, and different keyboard types, such as a numeric keypad.
The most basic use case is to plop down a
TextInput and subscribe to the onChangeText events to read the user input. There are also other events, such as onSubmitEditing and onFocus that can be subscribed to. A minimal example:
Two methods exposed via the native element are .focus() and .blur() that will focus or blur the TextInput programmatically.
MS-DOS Editor (or just edit) is a 16-bit text editor that is still included with 32-bit versions of Windows XP, Vista, 7, 8 and 8.1. It can edit files upto 65,279 lines long and has mouse support. Being an 16-bit DOS editor, it cannot run directly on 64-bit versions of Windows. It can be launched by typing edit at the command prompt. Rich Text Editor Framework for React. Extensible and Customizable. We provide the building blocks to enable the creation of a broad variety of rich text composition experiences, from basic text styles to embedded media. Sublime Text is a sophisticated text editor for code, markup and prose. It offers a lot of community developed plugins for extending its functionality. Sublime Text has been all time favourite editor for developers. React-native-snippets - It is a collection of Sublime Text Snippets for react-native.
Note that some props are only available with
multiline={true/false} . Additionally, border styles that apply to only one side of the element (e.g., borderBottomColor , borderLeftWidth , etc.) will not be applied if multiline=true . To achieve the same effect, you can wrap your TextInput in a View :
TextInput has by default a border at the bottom of its view. This border has its padding set by the background image provided by the system, and it cannot be changed. Solutions to avoid this are to either not set height explicitly, in which case the system will take care of displaying the border in the correct position, or to not display the border by setting underlineColorAndroid to transparent.
Note that on Android performing text selection in an input can change the app's activity
windowSoftInputMode param to adjustResize . This may cause issues with components that have position: 'absolute' while the keyboard is active. To avoid this behavior either specify windowSoftInputMode in AndroidManifest.xml ( https://developer.android.com/guide/topics/manifest/activity-element.html ) or control this param programmatically with native code.
Ubuntu Native Text EditorProps#
Inherits View Props.
|
Type | Required |
---|---|
bool | No |
autoCapitalize
#
Can tell
TextInput
to automatically capitalize certain characters. This property is not supported by some keyboard types such as name-phone-pad
.
characters
: all characters.words
: first letter of each word.sentences
: first letter of each sentence (default).none
: don't auto capitalize anything.
Type | Required |
---|---|
enum('none', 'sentences', 'words', 'characters') | No |
autoCompleteType
#
Specifies autocomplete hints for the system, so it can provide autofill. On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content. To disable autocomplete, set
autoCompleteType
to off
.
Possible values for
autoCompleteType
are:
off
username
password
email
name
tel
street-address
postal-code
cc-number
cc-csc
cc-exp
cc-exp-month
cc-exp-year
Type | Required | Platform |
---|---|---|
enum('off', 'username', 'password', 'email', 'name', 'tel', 'street-address', 'postal-code', 'cc-number', 'cc-csc', 'cc-exp', 'cc-exp-month', 'cc-exp-year') | No | Android |
autoCorrect
#
If
false
, disables auto-correct. The default value is true
.
Type | Required |
---|---|
bool | No |
autoFocus
#
If
true
, focuses the input on componentDidMount
. The default value is false
.
Type | Required |
---|---|
bool | No |
blurOnSubmit
#
If
true
, the text field will blur when submitted. The default value is true for single-line fields and false for multiline fields. Note that for multiline fields, setting blurOnSubmit
to true
means that pressing return will blur the field and trigger the onSubmitEditing
event instead of inserting a newline into the field.
Type | Required |
---|---|
bool | No |
caretHidden
#
If
true
, caret is hidden. The default value is false
.
Type | Required |
---|---|
bool | No |
clearButtonMode
#
When the clear button should appear on the right side of the text view. This property is supported only for single-line TextInput component. The default value is
never
.
Type | Required | Platform |
---|---|---|
enum('never', 'while-editing', 'unless-editing', 'always') | No | iOS |
clearTextOnFocus
#
If
true
, clears the text field automatically when editing begins.
Type | Required | Platform |
---|---|---|
bool | No | iOS |
contextMenuHidden
#
Type | Required |
---|---|
bool | No |
dataDetectorTypes
#
Determines the types of data converted to clickable URLs in the text input. Only valid if
multiline={true}
and editable={false}
. By default no data types are detected.
You can provide one type or an array of many types.
Possible values for
dataDetectorTypes
are:
'phoneNumber'
'link'
'address'
'calendarEvent'
'none'
'all'
Type | Required | Platform |
---|---|---|
enum('phoneNumber', 'link', 'address', 'calendarEvent', 'none', 'all'), ,array of enum('phoneNumber', 'link', 'address', 'calendarEvent', 'none', 'all') | No | iOS |
defaultValue
#
Provides an initial value that will change when the user starts typing. Useful for use-cases where you do not want to deal with listening to events and updating the value prop to keep the controlled state in sync.
Type | Required |
---|---|
string | No |
disableFullscreenUI
#
When
false
, if there is a small amount of space available around a text input (e.g. landscape orientation on a phone), the OS may choose to have the user edit the text inside of a full screen text input mode. When true
, this feature is disabled and users will always edit the text directly inside of the text input. Defaults to false
.
Type | Required | Platform |
---|---|---|
bool | No | Android |
editable
#
If
false
, text is not editable. The default value is true
.
Type | Required |
---|---|
bool | No |
enablesReturnKeyAutomatically
#
If
true
, the keyboard disables the return key when there is no text and automatically enables it when there is text. The default value is false
.
Type | Required | Platform |
---|---|---|
bool | No | iOS |
importantForAutofill
#
Tells the operating system whether the individual fields in your app should be included in a view structure for autofill purposes on Android API Level 26+. Possible values are
auto
, no
, noExcludeDescendants
, yes
, and yesExcludeDescendants
. The default value is auto
.
auto
: Let the Android System use its heuristics to determine if the view is important for autofill.no
: This view isn't important for autofill.noExcludeDescendants
: This view and its children aren't important for autofill.yes
: This view is important for autofill.yesExcludeDescendants
: This view is important for autofill, but its children aren't important for autofill.
Type | Required | Platform |
---|---|---|
enum('auto', 'no', 'noExcludeDescendants', 'yes', 'yesExcludeDescendants') | No | Android |
inlineImageLeft
#
If defined, the provided image resource will be rendered on the left. The image resource must be inside
/android/app/src/main/res/drawable
and referenced like
inlineImageLeft='search_icon'
Type | Required | Platform |
---|---|---|
string | No | Android |
inlineImagePadding
#
Padding between the inline image, if any, and the text input itself.
Type | Required | Platform |
---|---|---|
number | No | Android |
inputAccessoryViewID
#
An optional identifier which links a custom InputAccessoryView to this text input. The InputAccessoryView is rendered above the keyboard when this text input is focused.
Type | Required | Platform |
---|---|---|
string | No | iOS |
keyboardAppearance
#
Determines the color of the keyboard.
Type | Required | Platform |
---|---|---|
enum('default', 'light', 'dark') | No | iOS |
keyboardType
#
Determines which keyboard to open, e.g.
numeric
.
See screenshots of all the types here.
The following values work across platforms:
default
number-pad
decimal-pad
numeric
email-address
phone-pad
iOS Only
The following values work on iOS only:
ascii-capable
numbers-and-punctuation
url
name-phone-pad
twitter
web-search
Android Only
The following values work on Android only:
visible-password
Type | Required |
---|---|
enum('default', 'email-address', 'numeric', 'phone-pad', 'ascii-capable', 'numbers-and-punctuation', 'url', 'number-pad', 'name-phone-pad', 'decimal-pad', 'twitter', 'web-search', 'visible-password') | No |
maxFontSizeMultiplier
#
Specifies largest possible scale a font can reach when
allowFontScaling
is enabled. Possible values:
null/undefined
(default): inherit from the parent node or the global default (0)0
: no max, ignore parent/global default>= 1
: sets themaxFontSizeMultiplier
of this node to this value
Type | Required |
---|---|
number | No |
maxLength
#
Limits the maximum number of characters that can be entered. Use this instead of implementing the logic in JS to avoid flicker.
Type | Required |
---|---|
number | No |
multiline
#
If
true
, the text input can be multiple lines. The default value is false
. It is important to note that this aligns the text to the top on iOS, and centers it on Android. Use with textAlignVertical
set to top
for the same behavior in both platforms.
Type | Required |
---|---|
bool | No |
numberOfLines
#
Sets the number of lines for a
TextInput
. Use it with multiline set to true
to be able to fill the lines.
Type | Required | Platform |
---|---|---|
number | No | Android |
onBlur
#
Callback that is called when the text input is blurred.
Type | Required |
---|---|
function | No |
onChange
#
Callback that is called when the text input's text changes. This will be called with
{ nativeEvent: { eventCount, target, text} }
Type | Required |
---|---|
function | No |
onChangeText
#
Callback that is called when the text input's text changes. Changed text is passed as a single string argument to the callback handler.
Type | Required |
---|---|
function | No |
onContentSizeChange
#
Callback that is called when the text input's content size changes. This will be called with
{ nativeEvent: { contentSize: { width, height } } }
.
Only called for multiline text inputs.
Type | Required |
---|---|
function | No |
onEndEditing
#
Callback that is called when text input ends.
Type | Required |
---|---|
function | No |
onFocus
#
Callback that is called when the text input is focused. This is called with
{ nativeEvent: { target } }
.
Type | Required |
---|---|
function | No |
onKeyPress
#
Callback that is called when a key is pressed. This will be called with
{ nativeEvent: { key: keyValue } }
where keyValue
is 'Enter'
or 'Backspace'
for respective keys and the typed-in character otherwise including ' '
for space. Fires before onChange
callbacks. Note: on Android only the inputs from soft keyboard are handled, not the hardware keyboard inputs.
Type | Required |
---|---|
function | No |
onLayout
#
Invoked on mount and layout changes with
{ nativeEvent: {layout: {x, y, width, height}, target } }
.
Type | Required |
---|---|
function | No |
onScroll
#
Invoked on content scroll with
{ nativeEvent: { contentOffset: { x, y } } }
. May also contain other properties from ScrollEvent but on Android contentSize is not provided for performance reasons.
Type | Required |
---|---|
function | No |
onSelectionChange
#
Callback that is called when the text input selection is changed. This will be called with
{ nativeEvent: { selection: { start, end } } }
. This prop requires multiline={true}
to be set.
Type | Required |
---|---|
function | No |
onSubmitEditing
#
Callback that is called when the text input's submit button is pressed with the argument
{nativeEvent: {text, eventCount, target}}
.
Type | Required |
---|---|
function | No |
Note that on iOS this method isn't called when using
keyboardType='phone-pad'
.
placeholder
#
The string that will be rendered before text input has been entered.
Type | Required |
---|---|
string | No |
placeholderTextColor
#
The text color of the placeholder string.
Type | Required |
---|---|
color | No |
returnKeyLabel
#
Powershell Native Text Editor
Sets the return key to the label. Use it instead of
returnKeyType
.
Type | Required | Platform |
---|---|---|
string | No | Android |
returnKeyType
#
Determines how the return key should look. On Android you can also use
returnKeyLabel
.
Cross platform
The following values work across platforms:
done
go
next
search
send
Android Only
The following values work on Android only:
none
previous
iOS Only
The following values work on iOS only:
default
emergency-call
google
join
route
yahoo
Type | Required |
---|---|
enum('done', 'go', 'next', 'search', 'send', 'none', 'previous', 'default', 'emergency-call', 'google', 'join', 'route', 'yahoo') | No |
rejectResponderTermination
#
iOS Only
If
true
, allows TextInput to pass touch events to the parent component. This allows components such as SwipeableListView to be swipeable from the TextInput on iOS, as is the case on Android by default. If false
, TextInput always asks to handle the input (except when disabled). The default value is true
.
Type | Required | Platform |
---|---|---|
bool | No | iOS |
scrollEnabled
#
If
false
, scrolling of the text view will be disabled. The default value is true
. Only works with multiline={true}
.
Type | Required | Platform |
---|---|---|
bool | No | iOS |
secureTextEntry
#
If
true
, the text input obscures the text entered so that sensitive text like passwords stay secure. The default value is false
. Does not work with multiline={true}
.
Type | Required |
---|---|
bool | No |
selection
#
The start and end of the text input's selection. Set start and end to the same value to position the cursor.
Type | Required |
---|---|
object: {start: number,end: number} | No |
selectionColor
#
The highlight and cursor color of the text input.
Type | Required |
---|---|
color | No |
selectTextOnFocus
#
If
true
, all text will automatically be selected on focus.
Type | Required |
---|---|
bool | No |
showSoftInputOnFocus
#
Link samsung phone to computer. When
false
, it will prevent the soft keyboard from showing when the field is focused. The default value is true
.
Type | Required | Platform |
---|---|---|
bool | No | Android |
spellCheck
#
If
false
, disables spell-check style (i.e. red underlines). The default value is inherited from autoCorrect
.
Type | Required | Platform |
---|---|---|
bool | No | iOS |
textAlign
#
Align the input text to the left, center, or right sides of the input field.
Possible values for
textAlign
are:
left
center
right
Type | Required |
---|---|
enum('left', 'center', 'right') | No |
textContentType
#
Give the keyboard and the system information about the expected semantic meaning for the content that users enter.
For iOS 11+ you can set
textContentType
to username
or password
to enable autofill of login details from the device keychain.
For iOS 12+
newPassword
can be used to indicate a new password input the user may want to save in the keychain, and oneTimeCode
can be used to indicate that a field can be autofilled by a code arriving in an SMS.
To disable autofill, set
textContentType
to none
.
Possible values for
textContentType
are:
none
URL
addressCity
addressCityAndState
addressState
countryName
creditCardNumber
emailAddress
familyName
fullStreetAddress
givenName
jobTitle
location
middleName
name
namePrefix
nameSuffix
nickname
organizationName
postalCode
streetAddressLine1
streetAddressLine2
sublocality
telephoneNumber
username
password
newPassword
oneTimeCode
Type | Required | Platform |
---|---|---|
enum('none', 'URL', 'addressCity', 'addressCityAndState', 'addressState', 'countryName', 'creditCardNumber', 'emailAddress', 'familyName', 'fullStreetAddress', 'givenName', 'jobTitle', 'location', 'middleName', 'name', 'namePrefix', 'nameSuffix', 'nickname', 'organizationName', 'postalCode', 'streetAddressLine1', 'streetAddressLine2', 'sublocality', 'telephoneNumber', 'username', 'password') | No | iOS |
passwordRules
#
When using
textContentType
as newPassword
on iOS we can let the OS know the minimum requirements of the password so that it can generate one that will satisfy them. In order to create a valid string for PasswordRules
take a look to the Apple Docs.
Type | Required | Platform |
---|---|---|
string | No | iOS |
style
#
Note that not all Text styles are supported, an incomplete list of what is not supported includes:
borderLeftWidth
borderTopWidth
borderRightWidth
borderBottomWidth
borderTopLeftRadius
borderTopRightRadius
borderBottomRightRadius
borderBottomLeftRadius
see Issue#7070 for more detail.
Type | Required |
---|---|
Text | No |
textBreakStrategy
#
Set text break strategy on Android API Level 23+, possible values are
simple
, highQuality
, balanced
The default value is simple
.
Type | Required | Platform |
---|---|---|
enum('simple', 'highQuality', 'balanced') | No | Android |
underlineColorAndroid
#
The color of the
TextInput
underline.
Type | Required | Platform |
---|---|---|
color | No | Android |
value
#
The value to show for the text input.
TextInput
is a controlled component, which means the native value will be forced to match this value prop if provided. For most uses, this works great, but in some cases this may cause flickering - one common cause is preventing edits by keeping value the same. In addition to setting the same value, either set editable={false}
, or set/update maxLength
to prevent unwanted edits without flicker.
Type | Required |
---|---|
string | No |
Methods#
.focus()
#
Makes the native input request focus.
.blur()
#
Makes the native input lose focus.
clear()
#
Removes all text from the
TextInput
.
isFocused()
#
Returns
true
if the input is currently focused; false
otherwise.
- react-native#19096: Doesn't support Android's
onKeyPreIme
. - react-native#19366: Calling .focus() after closing Android's keyboard via back button doesn't bring keyboard up again.
- react-native#26799: Doesn't support Android's
secureTextEntry
whenkeyboardType='email-address'
orkeyboardType='phone-pad'
.
React Native is the current trend for cross platform mobile development enabling us to make high quality, native and powerful mobile applications using JavaScript. It's hardly been a year since Facebook Inc. released the React Native open source project, and it is amazing to see so much movement in terms of development, support, plugins, tools, integrations etc.
There are so many code editors out there for development and it at times becomes difficult for me to choose the right editor for a particular programming language. While working with React Native, I did some digging and found useful IDE/editors perfect for mobile app development. I have listed the editors, its plugins and packages with details specifically for React Native.
Building a React Native App from scratch?
We have reviewed 8 awesome that will help you to develop faster.
We have reviewed 8 awesome that will help you to develop faster.
![Text Text](https://kinsta.com/wp-content/uploads/2019/03/sublime-text-editor-1.png)
I currently use Visual Studio Code and Atom mainly because I am working on different languages and these editors provide support for a lot of programming languages. However, other editors are also worth looking at. iOS App developer, as well as an Android developer, can select the best editor as per their convenience and choice.
1. Atom
- URL: atom.io
- Github: atom
- Documentation:
- Platform: Windows, Mac, Linux
- Licence: Open-source
- Features:
- Cross-platform editing
- Built-in package manager
- Smart auto-completion
- File system browser
- Multiple panes
- Find and replace
Atom is a text editor that's modern, approachable, yet hackable editor made for the 21st century. Atom is widely used by developers for all major technologies. It has a huge active community hence there are always enhancements/plugins available for everything.
Packages
- atom-react-native-css - It is a package to style React-Native components with built in support for SASS/SCSS. React-native-css turns valid CSS/SASS into the Facebook subset of CSS.
- react-native-snippets - It is a package for React Native snippets for Atom and Nuclide.
- zenchat-snippets - It is a collection of snippets for react-native, redux and ES6.
- atom-xcode - This package bridges the gap between Mac Xcode and atom. Once installed, the iOS simulator can be controlled from within the atom itself.
- language-babel - This package includes Language grammar for all versions of JavaScript including ES2016 and ESNext, JSX syntax as used by Facebook React, Atom's etch and others.
Learning React Native is easy.
Here are 11 which help you get started.
Here are 11 which help you get started.
2. Visual Studio Code
- URL: code.visualstudio.com
- Github: Microsoft/vscode
- Documentation:
- Platform: Windows, Mac, Linux
- Features:
- Git commands built-in
- Extensible and customizable
Visual Studio Code is a source code editor developed by Microsoft for Windows, Linux and OS X. It is free and open-source and includes support for debugging, embedded Git control, syntax highlighting, intelligent code completion, snippets, and code refactoring.
Extensions
- ReactNative Tools - This extension provides a development environment for React Native projects. You can debug your code, quickly run
react-native
commands from the command palette and use IntelliSense to browse objects, functions and parameters for React Native APIs.
3. Vim Editor
- URL: vim.org
- Github: vim/vim
- Documentation:
- License: Open Source
- Platform: Mac, Linux
- Features:
- Persistent, multi-level undo tree
- Extensive plugin system
- Support for hundreds of programming languages and file formats
- Powerful search and replace
- Integrates with many tools
Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. It is included as 'vi' with most UNIX systems. Vim is loved by many developers for kinds of editing. Vim is rock stable and is continuously being developed to become even better.
Plugins
- vim-jsx - Syntax highlighting and indenting for JSX.
- vim-react-snippets - A set of snippets for Vim to work with Facebook's React library.
- vim-babel - A set of snippets for Vim to work with Facebook's React library.
Brilliant UX, Cross Platform App, Quick Delivery
A top can do wonders for your App Development.
Get in touch today.
A top can do wonders for your App Development.
Get in touch today.
4. Sublime Text
- URL: sublimetext.com
- Github: SublimeText
- Documentation:
- Platform: Windows, Mac, Linux
- Licence: Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use.
- Features:
- Goto Anything
- Multiple Selections
- Command Palette
- Distraction Free Mode
- Split Editing
- Instant Project Switch
- Plugin API
- Customise Anything
- Cross Platform
Sublime Text is a sophisticated text editor for code, markup and prose. It offers a lot of community developed plugins for extending its functionality. Sublime Text has been all time favourite editor for developers.
Packages
- react-native-snippets - It is a collection of Sublime Text Snippets for react-native
- babel-sublime - Syntax definitions for ES6 JavaScript with React JSX extensions.
5. GNU Emacs Editor
- URL: gnu.org/software/emacs/
- Documentation:
- License: Free under GPL License
- Platform: Windows, Mac, Linux
- Features:
- Content-aware editing modes, including syntax coloring, for many file types.
- Complete built-in documentation, including a tutorial for new users.
- Full Unicode support for nearly all human scripts.
- Highly customizable, using Emacs Lisp code or a graphical interface.
- A packaging system for downloading and installing extensions.
An extensible, customizable and free/libre text editor.
Extensions
- web-mode.el - It is an autonomous emacs major-mode for editing web templates. It is compatible with many languages including JSX (React).
6. Spacemacs Editor
- URL: spacemacs.org
- Github: syl20bnr/spacemacs
- Documentation:
- License: Open Source
- Platform: Windows, Mac, Linux
- Features:
- Key bindings are organized using mnemonic prefixes
- Discoverable - Innovative real-time display of available key bindings.
- Similar functionalities have the same key binding everywhere
- Simple query system to quickly find available layers, packages and more.
- Community-driven configuration provides curated packages tuned by power users and bugs are fixed quickly.
Spacemacs is a community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it's Emacs and Vim!
Extensions
- React layer - ES6 and JSX ready configuration layer for React. It will automatically recognize .jsx and .react.js files. One package layer for React integration.
7. Deco IDE
- URL: decoide.org/
- Github: decosoftware/deco-ide
- Documentation:
- Platform: Mac (only for iOS)
- Licence: Open-source
- Features:
- Component Search & Insert
- Real-Time Tweaking
- New File Scaffolds
Deco is an IDE for React Native. It's an all-in-one solution for writing React Native apps that you can download and use without any environment setup. Deco improves the React Native development workflow by focusing on component reuse and enabling you to edit your UI in real time.
8. WebStorm
- URL: jetbrains.com/webstorm/
- Documentation:
- License: Paid (US $129.00 for single user/first year)
- Platform: Windows, Mac, Linux
- Features:
- Intelligent Coding Assistance
- Support for Latest Technologies
- Version Control System
- Seamless Tool Integration
- Debugging, Tracing and Testing
- Built in Terminal
WebStorm is built on top of the open-source IntelliJ Platform, which JetBrains have been developing and perfecting for over 15 years. It offers the tight integration with VSC, Local History feature, has a vibrant plugin ecosystem, is completely configurable, and has much, much more to offer. WebStorm offers advanced support for React and JSX, and can provide you with core coding assistance for React Native apps.
9. TextMate Editor
- URL: macromates.com
- Documentation:
- License: Paid (48.75 EUR for single user licence)
- Platform: Mac
- Features
- CSS-like Selectors to Pinpoint the Scope of Actions and Settings
- Function Pop-up for Quick Overview and Navigation
- Plug-able Through Your Favourite Scripting Language
- Run Shell Commands from Within a Document
- Themable Syntax Highlight Colors
- Works Together With Xcode and Can Build Xcode Projects
TextMate is not an IDE but by using its powerful snippets, macros, and unique scoping system, it can often provide features that even a language specific IDE lacks. React is not directly supported but with the plugin listed below, one can easily get support for JSX on which most of the React code is based.
Plugins
- javascript-jsx.tmbundle - Textmate Bundle for JSX (React). Currently supports syntax highlighting.
10. Nuclide
- URL: nuclide.io
- Github: facebook/nuclide
- Documentation:
- Platform: Windows, Mac, Linux
- Licence: Open-source
- Features:
- Built-in Debugging
- Remote Development
- Developing Hack
- Mercurial Support
- Working Sets
Nuclide is built as a single package on top of Atom to provide hackability and the support of an active community. It provides a first-class development environment for React Native, Hack and Flow projects.
All the code editors are rich with powerful features. They are ready to adapt the React Native environment with the plugins and extensions mentioned with each editor.
Most of the editors covered in the article are already very popular, hence while migrating to React-Native, we don't have to migrate to a different code editor. That such a big relief, isn't it?
React Native Text Editor
React and React Native have seen an overwhelming response from the developers. Many tools are community developed and hoping to see much more support for these technologies.
Spread the word - Feel free to re-tweet and share the article.If you think there is any other editor out there that we have missed here, please tweet at @icicletech and let us know. Happy Developing!
Top 10 Editors For React Native Mobile App Development https://t.co/UBQZQtjssR via @icicletech
— Icicle (@icicletech) 9 September 2016
You maybe interested in
Comments are closed.
Author
Write something about yourself. No need to be fancy, just an overview.
Archives
December 2021
November 2021
October 2021