React怎么和ThinkPHP配合?

#1

刚刚开始使用react,有些不懂的地方,现有电商平台,给予一套电商做的二次开发,现增加三方店铺的功能,需要每个商家独立一个管理系统,想用react + webpack + gulp,react怎么和ThinkPHP配合?所有的数据都用ajax来取吗?

#2

你好,是可以的。如果为了开发方便,建议所有数据都用ajax来取。
前端使用react+react-router,这两者必备。另外,为了调试方便,引入 webpack-dev-server, 以及react-hot-loader, webpack-hot-middleware 实现热加载。

代码实现方面,php层的路由分为两种模式 /api(用于ajax拉取数据) 和 /xxx(用于打开某个页面)
所有 /xxx/yyy 这种请求,统一由 IndexController的index方法处理(严格的说,一个webpack entry 对应一个 controller-action),然后渲染 html。这个html很简单。只有一个 div (id=“app”) 即可。

前端页面渲染后,进入 react-router 的管辖范围,它会根据浏览器url,进入指定的 page。
进入指定page(即react component)之后,在componentDidMount 方法中加载数据(/api/xxx/yyy)。