当前我可以从当前路由获取当前组件及其名称的唯一方法如下.
match({routes, location: request.url.path }, (error, redirectLocation, renderProps) => {
var componentName = renderProps.components[1].displayName.replace(/Connect\(|\)/g, '');
var componentObj = renderProps.components[1].WrappedComponent;
});
Run Code Online (Sandbox Code Playgroud)
有一种更简单的方法可以用更简单的方式做到这一点吗?
我这样做的主要原因是为渲染服务器端预取数据,它的工作原理与上面相当,但看起来非常hacky.
这似乎只发生在Chrome上,但基本上如果我有一个带有选择框的隐藏元素,我有一些javascript使它显示我鼠标悬停父元素.问题是无法再选择选择框.我在jsfiddle上创建了一个demo .
HTML
<div class="widget-wrapper">
Test
<div class="widget">
<select>
<option>Test</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
JS
$('.widget-wrapper').mouseover(function(){
$('.widget').show();
});
$('.widget-wrapper').mouseout(function(){
$('.widget').hide();
});
Run Code Online (Sandbox Code Playgroud)
CSS
.widget {
display: none;
}
.widget.over {
display: block;
}
Run Code Online (Sandbox Code Playgroud)