我正在尝试从我的宁静 api 发出 socket.io 事件。
我当前的设置如下所示:
app.js 设置一个 express 应用程序并创建所有必要的路由,例如:
var app = express();
...
var routesApi = require('./app_api/routes/index');
app.use('/api', routesApi);
module.exports = app;
Run Code Online (Sandbox Code Playgroud)
server.js 创建一个服务器并连接 express 应用程序和 socket.io
var http = require('http');
var server = http.createServer(app);
require('../app_server/controllers/socket.js').socketServer(server);
Run Code Online (Sandbox Code Playgroud)
一切正常,我可以成功地从客户端触发一个套接字事件,在 socket.js 中处理它并发出结果。
但是,我想要做的是从我的宁静 api 调用 socket.js 方法,我不知道如何连接它。
由于套接字服务器是在 server.js 中初始化的,而我的 api 路由是在 app.js 中连接的,我不确定让它们相互通信的正确方法是什么。
谢谢
我正在努力实现 Html5 拖/放,并注意到有时会出现元素在被删除后飞回原始元素的效果。
有没有其他人看到过这个,试图摆脱它,但不太确定如何?
任何帮助是极大的赞赏 :)
尝试使用browserHistory.push方法以编程方式更改我的路线。
它将更改路由(每个浏览器地址栏)但不会更新视图。
这是我的代码 App.jsx
const AppStart = React.createClass({
render: function() {
return (
<MuiThemeProvider>
<Router history={hashHistory}>
<Route path="/" component={Main}>
<Route path="experiences" component={Experiences} />
<Route path="people" component={Profiles} />
<Route path="login" component={Login} />
<IndexRoute component={Home}/>
</Route>
</Router>
</MuiThemeProvider>
);
}
});
ReactDOM.render(
<AppStart />,
document.getElementById('app')
);
Run Code Online (Sandbox Code Playgroud)
成分:
handleLoginRedirect(e) {
browserHistory.push('/experiences');
},
render() {
return (
<div className='row'>
<div className='col-sm-10 col-sm-offset-1'>
<form role='form'>
<RaisedButton label="Redirect" onClick={this.handleLoginRedirect} />
</form>
</div>
</div>
);
Run Code Online (Sandbox Code Playgroud)