我自己其实也在折腾前端,感觉还是没有真正找到一个合适的方案。前端这玩意,感觉折腾进来了,就无止境了,所以在选型一个技术框架的时候得全面考查清楚。我记得很久以前出来了 AngularJS,我研究了一阵子,感觉很惊艳,在一个项目中采用了,后面你看,出来了 Angular2,完全不兼容了,再后面出来 React / Vue 这些,基本没有人搞 AngularJS 了。所以对前端技术的选型应该是一个很慎重的问题。
我目前自己做一个电商网站,我采用的是 Rails 7 / esbuild / Turbo / Stimulus, 对于大部分的数据展示页面和表单都是采用 Rails 原生的那一套很直观地快速实现,但是有些复杂一点的页面,如商品图片管理,包括图片即时批量上传、排序、简单编辑等,用 React 的最基本库 + Json + ActiveStorageDirectUpload 就解决问题了,可以说复杂度减少数倍。
我目前使用 React 的方法是通过 Stimulus Controller 集成 React 的。这样的话,在某些特定页面里局部使用 React 简化一些交互。
import { Controller } from "@hotwired/stimulus"
import * as React from 'react'
import * as ReactDOM from "react-dom";
import ProductMedia from "../components/product_media"
export default class extends Controller {
connect() {
let product_id = this.element.dataset.product_id;
let url = this.element.dataset.directUploadUrl;
ReactDOM.render(<ProductMedia product_id={product_id} upload_url={url} />, this.element);
}
}
其实我好想找到一个合适好用的 Rails 前端集成方案,同时又能不失去 Rails 的特性的途径。我了解的各种可能的方法有(不限于):
我想请教一下大家,你们的真实项目里是怎么样使用 React 这类的框架呢?有没有什么实践分享一下,谢谢。
说到 React,刚好前几天看到有一个 v2ex 上的帖子 2022 年 react 生态,大家都用啥 看看有多少名词吧?