reactant-cli를 사용하여 새로운 Reactant 프로젝트를 빠르게 생성하는 것이 좋습니다.reactant-cli에 대한 자세한 정보를 참조하세요.
reactant-cli 사용
npx reactant-cli init my-app # default use TypeScript
# use `npx reactant-cli init my-app --language javascript` for creating a Javascript project.
cd my-app
yarn start
@state는 모듈 불변 state를 decorate (장식)하는 데 사용되며 @action은 모듈 state를 변경하는 함수를 decorate (장식)하는 데 사용됩니다. decorated (데코 레이팅) 된 state 는 변경 불가능한 상태이지만 @action으로 데코 레이팅 된 메소드의 mutations(변형)을 사용하여 실제로 모듈의 state 를 업데이트 할 수 있습니다.
@injectable은 주입 할 수있는 모듈을 장식하는 데 사용됩니다. Reactant는 사전에 @injectable 장식이 필요하지 않은 모듈도 지원하지만, dependency injection (종속성 주입)이 필요한 모든 모듈에는 @injectabledecoration을 권장합니다.
TypeScript와 JavaScript의 @injectable 매개 변수는 완전히 다릅니다. 자세한 내용은 @injectable 을 참조하세요.
Reactant 는 dependency injection 기능을 제공합니다. 자세한 내용은 해당 링크를 참고하세요. dependency injection.
View Module
ViewModule은 Reactant의 핵심 개념입니다. non-view modules 과 UI 구성 요소 간의 dependencies(종속성) 및 logic를 정의합니다. UI 로직과 business logic 의 분리가 결합되어 구현합니다. ViewModule을 사용하여 서비스 모듈의 Dependency injection (의존성 주입) 및 컴포넌트의 상태 연결 주입(connection injection) 합니다.
useConnectorparameter 는 object maps, e.g.useConnector(() => { count: this.counter.count }) 이와 같은 것들을 지원하며, 대부분의 시나리오대로 작동합니다. state 가 변경될 때, useConnector 는 자동적으로 shallow comparison 를 수행하여 갱신해야 하는지 확인합니다.
ViewModule은 @state 및 @action을 사용할 수도 있으며, 일반적으로 파생 데이터를 계산하기 위해 @computed를 사용합니다.
기본적으로 createApp 및 부트 스트랩을 사용하여 프로젝트를 실행합니다. Reactant는 미들웨어 및 Reactant 플러그인과 같은 다른 환경(configurations) 도 지원하며, createApp을 통해 다양한 종속성 주입(dependency injection) 환경(configurations)을 구성합니다. Reactant에 대한 advanced guides 를 참조하십시오.
import { render } from 'reactant-web';
import { createApp } from 'reactant';
// need to import `AppView`
const app = createApp({
main: AppView,
render,
});
app.bootstrap(document.getElementById('root'));