Expo Web으로 빠르게 새로 고침! 🏃🏻‍♂️🔄



최근에 iOS 또는 Android에서 Expo를 사용했다면 개발 중에 상태 저장 핫 리로딩을 달성하기 위해 Fast Refresh(by Dan Abramov)를 사용했을 것입니다. 그러나 웹용 Expo에서 Fast Refresh를 어떻게 사용합니까?..(아주 쉽게).

웹에서는 페이지를 다시 로드하지 않고 DOM을 업데이트합니다. 이는 상태가 업데이트 간에 동일하게 유지됨을 의미합니다. 완전히 업데이트하려면 ⌘ + R로 창을 새로고침하면 됩니다.

🤔 사용방법



현재 공식 Fast Refresh Webpack 플러그인은 없지만 Michael Mok의 훌륭한 커뮤니티 플러그인을 사용하여 오늘 시작할 수 있습니다!
  • 새로운 범용 React Native 프로젝트 부트스트랩:

  • 엑스포:expo init 그런 다음 프로젝트
  • 를 선택합니다.

  • 기타: npx create-react-native-app

  • 커뮤니티 빠른 새로 고침 패키지를 설치합니다.
  • yarn add -D @pmmmwh/react-refresh-webpack-plugin webpack-hot-middleware

  • Webpack 구성을 꺼냅니다.
  • expo customize:web

  • 새로 생성된 webpack.config.js:

  • const createExpoWebpackConfigAsync = require("@expo/webpack-config");
    const ReactRefreshWebpackPlugin = require("@pmmmwh/react-refresh-webpack-plugin");
    
    module.exports = async function (env, argv) {
      const config = await createExpoWebpackConfigAsync(env, argv);
    
      // Use the React refresh plugin in development mode
      if (env.mode === "development") {
        config.plugins.push(
          new ReactRefreshWebpackPlugin({ disableRefreshCheck: true })
        );
      }
    
      return config;
    };
    


  • 이제 귀하의 babel.config.js:

  • module.exports = function (api) {
      // This caches the Babel config by environment.
      api.cache.using(() => process.env.NODE_ENV);
    
      return {
        presets: ["babel-preset-expo"],
      };
    };
    


  • 이제 expo start:web를 실행하여 사용하세요!

  • 💡 그런데



    공식 React 빠른 새로 고침이 출시되면 네이티브와 통합하여 범용 솔루션을 만드는 작업을 할 것입니다. 그때까지 이것은 꽤 멋진 작은 기능입니다! :)

    그렇다면 왜 지금 공유합니까?



    이 튜토리얼에 대한 아이디어는 내 친구인 Next.js의 Tim Neutkens에게서 얻었습니다. 특히 내비게이션에 적극 추천합니다!




























    곧 Next.js와 완벽하게 통합되는 React Fast Refresh 🚀 , 및 의 놀라운 작업 아래의 초기 데모 보기 🍿


    오후 18:37 - 2020년 4월 19일









    👋 그게 다야



    읽어주셔서 감사합니다. 오늘은 여기까지만 하겠습니다. 이 기사가 마음에 드셨다면 알려주시고 더 궁금한 점이 있으면 연락주세요!













    좋은 웹페이지 즐겨찾기