React имеет несколько методов жизненного цикла, которые помогают в этих ситуациях, включая списки, включая, но не ограничиваясь, getInitialState, getDefaultProps, componentWillMount, componentDidMount и т. д.
В вашем случае и случаях, которые необходимо взаимодействовать с DOM элементы, вам нужно подождать, пока dom будет готов, поэтому используйте componentDidMount, как показано ниже:
/** @jsx React.DOM */
var List = require('../list');
var ActionBar = require('../action-bar');
var BalanceBar = require('../balance-bar');
var Sidebar = require('../sidebar');
var AppBase = React.createClass({
componentDidMount: function() {
ReactDOM.findDOMNode(this).height = /* whatever HEIGHT */;
},
render: function () {
return (
);
}
});
module.exports = AppBase;
Также для получения дополнительной информации о жизненном цикле в реакции вы можете посмотреть ссылку ниже: https: / /facebook.github.io/react/docs/state-and-lifecycle.html
Согласно вашей агрегации, company
является вложенным полем, поэтому ваши критерии фильтрации также должны использовать запрос nested
:
{
"query": {
"bool": {
"filter": [
{
"bool": {
"must": [
{
"nested": { <-- use nested here
"path": "company",
"query": {
"bool": {
"must": [
{
"term": {
"company.country_id": 9
}
},
{
"term": {
"company.company_branches.country_id": 9
}
}
]
}
}
}
},
{
"term": {
"active": true
}
},
{
"term": {
"completed": true
}
}
]
}
}
]
}
},
"aggs": {
...