React, ReactJS, React Native, React router, 반응 프로그래밍 및 RxJava의 관계와 차이점은 무엇입니까?


대답 1:
  1. React-JavaScript 라이브러리 ReactJS 1.React Native의 다른 이름입니다. 모바일 앱을 만들 수있는 React 버전입니다. 먼저 1을 배우십시오 .React Router-라우터는 응용 프로그램을 페이지로 나누고 사용자 상호 작용을 통해 탐색하는 방법입니다. React 직후에 React Router를 배워야 대부분의 응용 프로그램을 만들거나 같은 일을 직접 할 수 있습니다. React Router를 사용하는 것이 / login, / settings 등과 같이 앱의 각 섹션에 대한 URL을 제공하기 때문에 선호됩니다 .Reactive Programming은 수신 데이터 및 사용자 상호 작용과 같이 변경에 응답하도록 설계된 프로그래밍 유형의 일반적인 이름입니다. . 1은 이것에 대한 해결책이므로 지금은 이것을 고려할 필요가 없습니다 .ReactiveX는 인생을 더 쉽게 만들기 위해 사용할 수있는 여러 라이브러리 중 하나이며 여러 언어 별 버전 (예 : RxJava)으로 제공됩니다. 그것이 무엇인지 모른다면 아직 필요하지 않을 것입니다. 불변의 JS는 또 다른 일반적인 것입니다. 필요하지 않습니다 (확장을 위해 제작되었지만 실제로는 JavaScript에서만 잘 확장되지 않습니다!). 대신 자신의 복제 함수를 작성하십시오. 간단한 5 줄 재귀 함수입니다.

아, 그리고 당신은 Redux를 그리워했습니다. 1 직후에 필요합니다 (Google 검색에서‘React’로 위치가 낮아짐에도 불구하고). 응용 프로그램 데이터 및 상태를 관리하는 방법과 관련이 있습니다 (구성 요소 내에서 this.state와 혼동하지 마십시오. 변경시 구성 요소 다시 그리기가 필요한 로컬 구성 요소 관련 문제에 사용해야 함). 또한 당신이 한 번 GraphQL / Relay. 앞으로 나아갈 길입니다.

6의 경우, 여기에 내가 사용하는 복제 기능이 있습니다 (실제로는 9 줄이며 1 줄과 6 줄을 변경하지 않으면 StoreHelpers 클래스에있을 것으로 예상됩니다).

 정적 deepClone (obj) {
   var out, val, key;
   out = Array.isArray (obj)? [] : {};
   for (obj의 키) {
     val = obj [키];
     out [key] = (valof === "object")? StoreHelpers.deepClone (val) : val;
   }
  반품;
 }

React와 함께 많이 사용하는 mergeBIntoA () 함수도 있습니다. 그것은 다른 답변 중 일부이며 Redux에 들어갈 때 많은 도움이 될 것입니다.