Просто вызовите вторую функцию в блоке then()
первого и передайте данные в качестве параметра. setState
является асинхронным, поэтому вы не можете полагаться на данные, которые будут установлены немедленно.
fetchDuel = () => {
const duelID = this.props.match.params.duelID;
axios.get(`http://127.0.0.1:8000/api/duel/${duelID}`,
{'headers': {'Authorization': `Token ${localStorage.getItem('token')}`}})
.then(res => {
this.setState({
duel: res.data
});
this.fetchDataset(res.data);
});
};
Можно использовать взлом "добавления префикса" во встроенных стилях также:
<div style="*background:red"></div>
Просто удостоверьтесь, что Вы помещаете взломы IE в конце атрибута стиля. Однако я второй мнение, что встроенных стилей нужно избежать, если это возможно. Условные комментарии и отдельный файл CSS для Internet Explorer, кажется, лучший способ обработать такие проблемы.
Я вышел бы на улицу - хлопают класс на том элементе или используют идентификатор, который Вы имеете и обрабатываете моделирование внешне.
Я также согласился бы с условными ответами комментариев предыдущая шахта.
Это сказало: Как абсолютное последнее средство, можно использовать следующие взломы стиля для предназначения <= для IE6 и даже IE7. Проблема прибывает, когда/если они фиксируют IE8 для нанесения поражения взлому.
.foo {
padding: 5px;
^padding: 4px; /* this targets all IE, including 7. It must go first, or it overrides the following hack */
_padding: 3px; /* this targets >= IE6 */
width: 30px;
}
Удачи.
Не споря за или против взломов CSS, лично если бы я должен был сделать что-то как этот, я предпочел бы использовать условный комментарий:
<!--[if lt IE 7]>
<style>
#blah {
padding: 5px;
margin: 5px;
width: 30px;
}
</style>
<![endif]-->
Самый соответствующий ответ, не делают. (Редактирование: чтобы быть ясным, я имею в виду, не делают этого встроенный, я не имею в виду, не используют взломы CSS.)
Править: Это не работает, IE игнорирует условный комментарий. Отъезд ответа здесь, чтобы не быть ублюдком.
Следующий самый соответствующий ответ является условными комментариями:
<div id="blah" style="padding: 5px; margin: 5px; width: 30px; <!--[if lte IE 6]> ... <![endif]-->">
Да как все выше, если можно постараться не делать его встроенный, делают!! Но если действительно необходимо пойти встроенные затем, фильтры-анализаторы являются, вероятно, лучшим выбором, это определенные символы, которые можно использовать на свойствах, таких как взлом подчеркивания в ie6
print("code sample");
style="position:relative;padding:5px; _position:absolute; _padding:10px;"
ie6 все еще получит подчеркнутые стили, все остальные просто проигнорируют их!
Там также использует! важный вместо подчеркивания.
имейте игру вокруг и посмотрите то, что происходит, но снова как вышеупомянутый, старайтесь избегать как эпидемия :)
Следует иметь в виду, что IE 6 нужен взлом модели поля в режиме причуд, но не в режиме стандартов. IE 5 и IE 5.5 нужен BMH все время.
Таким образом, если Вы будете в режиме стандартов, то необходимо будет использовать что-то как оригинал voice-family
взлом (который предназначается для IE 5. X и не IE 6). Если Вы будете в режиме причуд, какой-либо старый IE <=, то 6 взломов сделают.
(Содержание Вашего вопроса намекает мне, что Ваша страница представляет в режиме причуд.)
Лучшее решение - работать в режиме стандартов, а не в режиме причуд...., что сразу же устранит необходимость в большинстве хаков для модели коробки.
Кроме того, условные комментарии с таблицей стилей, специфичной для IE, намного чище и удобнее в обслуживании. Этот метод был достаточно хорош для большинства высококлассных дизайнеров в течение последних нескольких лет... если только на вашем сайте нет чего-то специфического, что требует, чтобы все это было встроено, я предлагаю сделать шаг назад и посмотреть на коренные проблемы, а не на то, как вы можете исправить эти маленькие симптомы по мере их появления. alt text http://sonicloft.net/im/52