Последние дни, проведенные именно на этом, заставили меня многое узнать о React, которого я не знал, и время было хорошо проведено.У меня есть одно состояние React в верхнем / родительском компоненте, в котором хранятся действия, передаваемые дочерним элементам.Самая большая проблема заключалась в том, чтобы найти способ распространения действия, React Context хорош для больших расстояний, но я в основном пропускаю его через подпорки.
В этом случае принимающий компонент должен быть класса, чтобы он мог анализировать действие в SCU ирешить, приведет ли действие к некоторому повторному действию (чаще всего рендеринг).
Я не думаю, что вам следует копировать решения, но вместо этого сделайте это самостоятельно и используйте его, чтобы изучить глубину реакции, я обещаю вам, что это будетрасплатиться!
Сказав, что вы должны начать с этим.
constructor() {
super()
this.state = {
dispatch: this.dispatch,
type: null,
payload: null
}
}
dispatch = (type, payload) => {
switch (type) {
case "user_set":
setApolloCache({ userId: payload.userId })
this.setState(prevState => ({
dispatch: prevState.dispatch,
type,
payload
}))
break
...