перед обучением нужно подписать контракт что год отработаешь в этой компании после обучения. Я отказался.
const {stateToPropsDay, stateToPropsStartDataArray, stateToPropsFilteredDataArray, stateToPropsSearchInput, stateToPropsCategory} = this.props;
перед return в методе render const rootReducer = combineReducers({
propsReducer: reducer
});
const mapStateToProps = state => ({
onLike: state.propReducer.like
});
{stateToPropsStartDataArray &&
Object.keys(stateToPropsStartDataArray).map(element => (
<button
data-stateToPropsCategory={element}
onClick={e =>
onFilter({
stateToPropsCategory: e.target.dataset.statetopropscategory
})
}
className={
element === stateToPropsCategory ? "active" : "noActive"
}
>
{element}
</button>
))}
var newData = state.startDataArray[
action.stateToPropsCategory || state.category
].filter(x => {
return x["planeTypeID.code"]
.toLowerCase()
.includes(action.search || state.searchInput);
});
const mapStateToProps = state => ({
onLike: state.propReducer.like
});
// this.props.onLike = reducer.state.onLike
const mapStateToProps = state => state;
// this.props.state = целый большой объект стейт редюсера
ReactDOM.render(<App automobile={data} />, document.getElementById('app'));
render () {
const automobile = this.props.automobile;
return (
<div>
{automobile.map(n => (
<div className="Cars" headerText={n.name}>
....
</div>
))}
</div>
);
}
Мне кажется что это можно реализовать проще:
1) задать в состояние начальное значение
2) создать метод this.setState - при нажатии кнопки выползание слева сайдбара
3) как-то сделать так чтобы при нажатти на крестик в верхнем углу сайдбара- сайдбар снова скрылся (пока не знаю как)
const [mousePosition, setMousePosition] = useState(null);
const clL = {
"dark": mousePosition === "left"
}
const clR = {
"dark": mousePosition === "right"
}
return (
<>
<div id="left" onMouseOver={() => setMousePosition("left") className={cx(clL)} onMouseLeave={() => setMousePosition(null)}></div>
<div id="right" onMouseOver={() => setMousePosition("right") className={cx(clR)} onMouseLeave={() => setMousePosition(null)}></div>
</>
)
#left:hover {
background-color: rgba(0,0,0,0.5);
}
#right:hover {
background-color: rgba(0,0,0,0.5);
}
<div id="app"></div>
function App() {
const [ dark, setDark ] = React.useState(null);
const updateDark = e => setDark(e.type === 'mouseover' ? e.currentTarget.id : null);
return (
<React.Fragment>
{[ 'left', 'right' ].map(n => (
<div
id={n}
key={n}
onMouseOver={updateDark}
onMouseLeave={updateDark}
className={dark && dark !== n ? 'dark' : ''}
></div>
))}
</React.Fragment>
);
}
ReactDOM.render(<App />, document.getElementById('app'));