将Redux Store与状态混合

时间:2016-08-18 07:12:35

标签: reactjs redux

我有两个问题 - 一个关于React& amp; Redux和一个关于es6。

  1. 问题: 我完全是React和Redux的新手。我觉得React很好但是Redux真的很难。我有一个基本的问题,我应该如何进一步。我在我的Test-Project中使用了Material-UI Framework,然后我使用了该组件。此组件与onChange事件一起使用,然后更新this.state.value以显示此值。但是当我使用Redux时,我必须将所有东西存放在我的商店中吗?那么存储this.state.value属性中的当前值是错误的吗?
  2. 2.Question: 这段剪辑不起作用,它告诉我“意想不到的令牌”#39;在这一行:

    handleChange = (event, index, value) => {
        this.setState({value});
    };
    

    /////////////////////////////////////////////// ////////////////////////////

    export default class AddSterbefallForm extends React.Component {
        constructor(props) {
            super(props);
            this.state = {value: 10};
        }
    
        handleChange = (event, index, value) => {
            this.setState({value});
        };
    
    
        render() {
            return (
                <SelectField value="{this.state.value}" onChange         {this.handleChange}>
                    <MenuItem value="Herr" key="m" primaryText="Herr" />
                    <MenuItem value="Frau" key="w" primaryText="Frau" />
                </SelectField>
            );
        }
    }
    

1 个答案:

答案 0 :(得分:1)

正如你所说,你是Redux的新手。我建议你自己创建Redux示例项目。你可以找到很好的例子here。当我学习Redux时,我研究了每个例子,并自己重建了相同的项目。这确实有帮助!

在项目中继续使用Material UI框架之前,您需要清楚了解什么是Redux,为什么使用它以及如何使用它。我告诉你,使用Redux不会完全删除React的setState()。仍然有一些使用React的本地状态管理。

例如 - 如果要存储按钮的状态,如果启用或禁用,则不一定需要Redux!您仍然可以使用React的本机状态。像这样 -

class Button extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      active: true
    };
    this.toggle = this.toggle.bind(this);
  }

  toggle() {
    this.setState({
      active: !this.state.active
    });
  }

  render() {
    return (
      <div>
        <button disabled={this.state.active} onClick={this.toggle}>
          {this.state.active ? 'Click me!' : 'You cannot click me'}
        </button>
      <div>
    );
  }
}

请参阅?你根本不需要Redux!我希望你能在学习Redux之前学习一个很棒的项目!祝你好运!