Đây là giải pháp tốt nhất mà tôi đã tìm thấy mà không cần đẩy ra. Thay thế tập lệnh tạo phản ứng.
https://www.npmjs.com/package/custom-react-scripts
Nếu bạn có một khởi đầu mới dự án bằng cách sử dụng này trong terminal của bạn:
create-react-app my-app --scripts-version custom-react-scripts
Sau đó cd vào thư mục ứng dụng của mình và tạo ra một tập tin .env. Chỉnh sửa tệp .env cho tệp này:
REACT_APP_BABEL_STAGE_0=true
REACT_APP_DECORATORS=true
Ứng dụng của bạn bây giờ sẽ hỗ trợ trang trí.
Nếu bạn có ứng dụng hiện có và muốn thêm ứng dụng này. Thêm .env như trên rồi:
npm i custom-react-scripts --save
xóa tập lệnh phản ứng trong package.json của bạn. Không thay đổi các kịch bản từ các script-phản ứng bắt đầu để tạo ra-phản ứng-script bắt đầu. Để nguyên tập lệnh.
bây giờ thêm công cụ mobx của bạn với trang trí và tận hưởng ít mã bản mẫu.
package.json cuối cùng của tôi
{ "name": "mobx-test", "version": "0.1.0", "private": true, "dependencies": { "custom-react-scripts": "^0.2.1", "mobx": "^3.4.0", "mobx-react": "^4.3.5", "react": "^16.2.0", "react-dom": "^16.2.0" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject" } }
oh và nếu bạn đang sử dụng vscode bạn sẽ muốn ẩn những lời cảnh báo về trang trí không được hỗ trợ. Để làm điều đó thêm một tập tin tsconfig.json để dự án của bạn với điều này
{ "compilerOptions": { "experimentalDecorators": true, "allowJs": true } }
Xem thêm cho một ví dụ về MobX mà không cần trang trí: https://github.com/facebookincubator/create-react-app/issues/ 214 # issuecomment-236151343 –
Ah, vâng. Cảm ơn, Dan! :) Và từ [tài liệu MobX] (https://github.com/mobxjs/mobx#observable-state). – Scott
Tạo một kho lưu trữ nhỏ thể hiện cách thêm MobX vào ứng dụng tạo phản ứng mà không cần trang trí: https://github.com/mobxjs/create-react-app-mobx – mweststrate