.col.s12
имеет большую специфичность, чем css-класс из модуля. Чтобы исправить отделите структуру грида от структуры компонента:import React, {Component} from 'react'
import styles from './Videos.module.css'
export default class Videos extends Component{
render(){
return(
<div id="test1" className={`row ${styles.VideoRoom}`}>
<div className="col s12 center grey lighten-3">
<div className={styles.HostVideo}>
Видео хоста
</div>
</div>
</div>
);
}
}
:global(.class)
в css-модулях (подробнее). Должно получиться что-то вроде :global(.col).HostVideo
.const MyContext = React.createContext();
const {
Provider: CompaniesStoreServiceProvider,
Consumer: CompaniesStoreServiceConsumer
} = MyContext;
useContext(MyContext);
// webpack.config
module.exports = {
module: {
rules: [
{
oneOf: [
{
test: /\.(js|jsx|ts|tsx)$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
options: {
cacheDirectory: true,
},
},
{
use: 'file-loader',
exclude: [/\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/],
},
// ** STOP ** Are you adding a new loader?
// Make sure to add the new loader(s) before the "file" loader.
],
},
],
},
plugins: [
new ForkTsCheckerWebpackPlugin({
async: true,
useTypescriptIncrementalApi: true,
checkSyntacticErrors: true,
eslint: true,
}),
],
};
// babelrc
{
"presets": [
"@babel/preset-env",
"@babel/preset-typescript"
],
}
addToCart = (id: number) => {
let tempProduct: Products[] = [...this.state.products];
const item = this.getItem(id);
if(item === undefined) {
// ... инструкция при возникновении терминального условия, например, ошибка
return;
}
const index = tempProduct.indexOf(item as Products); // строгая типизация для item
// ...
};
getItem = (id: number): Products => {
return this.state.products.find(item => item.id === id);
};