使用 react/redux 从 OnClick Table 行构建过滤器函数

Building a Filter function from OnClick Table row with react/redux

所以这就是我正在尝试做的事情:我有一个包含三个名字的列表,当我点击其中一个时,剩下的两个消失了。我最后的 objective 是构建一个 table,这样我就可以通过单击该行来过滤我的数据。我现在真的不知道从哪里开始。我猜我的 OnClick 函数应该在我的 redux 存储状态之一上触发一些过滤方法。但我不知道我应该如何用我的动作和减速器来表达这一点。所以我现在至少有两个问题:

我不是要代码或完整的解决方案,我更多的是寻找整体逻辑。如果需要说明,这里是我的代码的某些部分:

我的组件:

class NameList extends React.Component {
                      constructor(props) {
                        super(props);
                      }
                      render() {
                            var props = this.props.name;
                        return (
                  <div>
                                <ul>
                  { props.map((m, i) =>
                    <li key={i} onClick={???}>{m.name}</li>
                  )}
                </ul>
                </div>
                        )
                      };
                     }

        const mapStateToProps = (state) => {
            return {
                name: state.nameData.allname,
            };
        };

我的减速器:

var items = [
  { name: 'Louise', age: 27, color: 'red' },
  { name: 'Margaret', age: 15, color: 'blue'},
  { name: 'Lisa', age:34, color: 'yellow'}
];

  const nameData = (state = {
    allname: items
    }, action) => {
    switch (action.type) {
      case 'SET_NAME':
        return {
          ...state,
          name: action.name
        };
          default:
            return state;
                }
              };

我的行动:

export function AuthorFilter() {
    return {
      type: 'SET_NAME',
      name,
        };
      }

谢谢。

一种方法是使用 mapDispatchToProps。然后从您的组件中您将能够发送合适的操作。

如果您想详细了解所有这些东西是如何连接的(商店、动作创建者等),您可以查看这篇文章:https://github.com/reactjs/redux/blob/master/docs/basics/UsageWithReact.md