Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 47 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,75 +1,68 @@
# [React](https://reactjs.org/) · [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/facebook/react/blob/main/LICENSE) [![npm version](https://img.shields.io/npm/v/react.svg?style=flat)](https://www.npmjs.com/package/react) [![CircleCI Status](https://circleci.com/gh/facebook/react.svg?style=shield&circle-token=:circle-token)](https://circleci.com/gh/facebook/react) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://reactjs.org/docs/how-to-contribute.html#your-first-pull-request)
# react
This repo holds source code for the [React](http://reactjs.org/) library.
It is updated regularly to match react-devtools, but you may still be missing the latest
code.

React is a JavaScript library for building user interfaces.
You will be required to run your `npm run dev` node command to build it.

* **Declarative:** React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable, simpler to understand, and easier to debug.
* **Component-Based:** Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep the state out of the DOM.
* **Learn Once, Write Anywhere:** We don't make assumptions about the rest of your technology stack, so you can develop new features in React without rewriting existing code. React can also render on the server using Node and power mobile apps using [React Native](https://reactnative.dev/).
## Dependencies
The npm package installs all dependencies for this library. This means you need to install the
`react-devtools` package, or at least install some of the dependencies, depending on your
development environment.

[Learn how to use React in your project](https://reactjs.org/docs/getting-started.html).

## Installation

React has been designed for gradual adoption from the start, and **you can use as little or as much React as you need**:

* Use [Online Playgrounds](https://reactjs.org/docs/getting-started.html#online-playgrounds) to get a taste of React.
* [Add React to a Website](https://reactjs.org/docs/add-react-to-a-website.html) as a `<script>` tag in one minute.
* [Create a New React App](https://reactjs.org/docs/create-a-new-react-app.html) if you're looking for a powerful JavaScript toolchain.

You can use React as a `<script>` tag from a [CDN](https://reactjs.org/docs/cdn-links.html), or as a `react` package on [npm](https://www.npmjs.com/package/react).

## Documentation

You can find the React documentation [on the website](https://reactjs.org/).

Check out the [Getting Started](https://reactjs.org/docs/getting-started.html) page for a quick overview.

The documentation is divided into several sections:

* [Tutorial](https://reactjs.org/tutorial/tutorial.html)
* [Main Concepts](https://reactjs.org/docs/hello-world.html)
* [Advanced Guides](https://reactjs.org/docs/jsx-in-depth.html)
* [API Reference](https://reactjs.org/docs/react-api.html)
* [Where to Get Support](https://reactjs.org/community/support.html)
* [Contributing Guide](https://reactjs.org/docs/how-to-contribute.html)

You can improve it by sending pull requests to [this repository](https://github.com/reactjs/reactjs.org).
```
npm install react-devtools
```

## Examples
## Development

We have several examples [on the website](https://reactjs.org/). Here is the first one to get you started:
You should have some of the following packages installed:

```jsx
import { createRoot } from 'react-dom/client';
```bash
npm install -g -g node
npm install -g git
npm install -g jshint -g jshint-lint
```

function HelloMessage({ name }) {
return <div>Hello {name}</div>;
}
## Development environment
You will need to run a `node` command to be able to build the library, but this command runs as
a `production` command, meaning you will be able to view the devtools.

const root = createRoot(document.getElementById('container'));
root.render(<HelloMessage name="Taylor" />);
```bash
npm run dev
```

This example will render "Hello Taylor" into a container on the page.
The `dev` command will use jshint and jshint-lint to ensure that the code is well-formed.
It also uses `node-prebuilt` for some common file types.

You'll notice that we used an HTML-like syntax; [we call it JSX](https://reactjs.org/docs/introducing-jsx.html). JSX is not required to use React, but it makes code more readable, and writing it feels like writing HTML. If you're using React as a `<script>` tag, read [this section](https://reactjs.org/docs/add-react-to-a-website.html#optional-try-react-with-jsx) on integrating JSX; otherwise, the [recommended JavaScript toolchains](https://reactjs.org/docs/create-a-new-react-app.html) handle it automatically.
## Dependencies
This package also requires the `react-jsx` package (see [npm package summary](http://www.npmjs.org/package/react-jsx) for a list of dependencies).
```bash
npm install -g react-jsx
```

## Contributing
## Build

The main purpose of this repository is to continue evolving React core, making it faster and easier to use. Development of React happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving React.
Build is a simple one line command. You need to include all required packages

### [Code of Conduct](https://code.fb.com/codeofconduct)
```bash
npm run build
```

Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please read [the full text](https://code.fb.com/codeofconduct) so that you can understand what actions will and will not be tolerated.
## Usage

### [Contributing Guide](https://reactjs.org/docs/how-to-contribute.html)
To run `npm run dev`, run:

Read our [contributing guide](https://reactjs.org/docs/how-to-contribute.html) to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to React.
```bash
npm run dev
```

### Good First Issues
You should be able to access the `devtools`, `dev` and `watch` views of this library.

To help you get your feet wet and get you familiar with our contribution process, we have a list of [good first issues](https://github.com/facebook/react/labels/good%20first%20issue) that contain bugs that have a relatively limited scope. This is a great place to get started.
## Tests

### License
* run `npm run test` to run the unit test suite
* run `npm run test--coverage` to run all unit test coverage tests

React is [MIT licensed](./LICENSE).
## License
This library is licensed under the MIT license found in the LICENSE file in the root directory of this source tree.