я пытаюсь изменить фон компонентов, но это не работает
это мой index.css:
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background: url(./styles/image/teste3.jpg) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
Этот фон работает отлично, но я хочу изменить его, когда я получаю доступ к другому компоненту.
Итак, я сделал вызов компонента Portfolio, и когда я получил доступ к этому компоненту, он должен был изменить фон, но он не работает
Портфолио CSS:
.background-portfolio {
background: url(../image/teste2.jpg) no-repeat center center fixed !important;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
transition: all 0.5s !important;
}
Portfolio.js:
componentWillMount(){
document.body.classList.add("background-portfolio");
}
какие-нибудь советы? obs: извините за мой плохой английский
Вы уверены, что файл css, содержащий портфолио .background, загружен?
это должно работать (но это не связано с реакцией). codepen.io/lipp/pen/yRxZpX



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Попробуйте вместо этого использовать componentDidMount, а также попробуйте изменить .background-портфолио на body.background-портфолио.
HTML
<div id = "app"></div>
CSS
body {
background-color:blue;
}
body.background-portfolio {
background-color: red;
}
JS
class App extends React.Component {
componentDidMount(){
document.body.classList.add("background-portfolio");
}
render() {
return (
<div>
Hello
</div>
)
}
}
ReactDOM.render(<App />, document.querySelector("#app"))
Подтвердите свой фоновый URL один раз, то есть background: url (../ image / teste2.jpg), как и у предыдущих изображений ./styles/image/teste3.jpg