热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于redux的问题state.visibilityFilter这种用法不会

TodoList.js

TodoList.js



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import React, { Component, PropTypes } from 'react'

import Todo from './Todo'



/*



    (todo, index) =>

       
            key={index}

            OnClick={() => this.props.onTodoClick(index)} />



    参数todo,index

   

    OnClick={return this.props.onTodoClick(index)}



    var f = () => 5;

    // 等同于

    var f = function () { return 5 };



    var sum = (num1, num2) => num1 + num2;

    // 等同于

    var sum = function(num1, num2) {

        return num1 + num2;

    };



    由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号。



    var getTempItem = id => ({ id: id, name: "Temp" });



*/





export default class TodoList extends Component {

    /*

        function ListItem(props) {

            // Correct 正确的 ! There is no need to specify the key here:

            return
  • {props.value}
  • ;

            }



            const listItems = numbers.map((number) =>

            // Correct! Key should be specified inside the array.

               
                    value={number} />

            );

         */



        /*



            数据格式

            {

                text: action.text1,

                completed: false

            },

            {

                text: action.text2,

                completed: false

            },

            {

                text: action.text3,

                completed: false

            }



         */



        /*

            遍历父元素的 this.props.todos

         */



        /*





         */

        render() {

            return (

               


                      {

                          this.props.todos.map((todo, index) =>

                             
                                    key={index}

                              />)

                      }

                 


            )

        }

    }

    这个组件

    1

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    import React, { Component } from 'react'

    import PropTypes from 'prop-types'

    /*

        text-decoration:underline;     下划线

        text-decoration:overline;      顶划线

        text-decoration:line-through;  删除线

        text-decoration:blink;         闪烁



        -moz-text-decoration-line: overline; // 针对 Firefox 的代码

     */

    export default class Todo extends Component {

        render() {

            return (

               
                    line-through' : 'none',

                        cursor: this.props.completed ? 'default' : 'pointer'

                    }}>

                    {this.props.text}

               

            )

        }

    }

    在这里是不是对应




    1
    {this.props.text}

    这个属性?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    import React, { Component, PropTypes } from 'react'

    import { connect } from 'react-redux'

    import { addTodo, VisibilityFilters } from '../actions'

    import AddTodo from '../components/AddTodo'

    import TodoList from '../components/TodoList'



    /*

        let [x, y] = [1, 2, 3];

        x // 1

        y // 2



        let [a, [b], d] = [1, [2, 3], 4];

        a // 1

        d // 4

        b // 2



        let { foo, bar } = { foo: "#", bar: "bbb" };

        foo // "#"

        bar // "bbb"

     */



    /*

        Store 就是把它们联系到一起的对象。Store 有以下职责:



        维持应用的 state;

        提供 getState() 方法获取 state;

        提供 dispatch(action) 方法更新 state;

        通过 subscribe(listener) 注册监听器;

        通过 subscribe(listener) 返回的函数注销监听器。



        // Dispatch some actions

        store.dispatch(addTodo('Learn about actions'))

        store.dispatch(addTodo('Learn about reducers'))

        store.dispatch(addTodo('Learn about store'))

     */



    // 点击按钮 发出了增加 text 的 action 请求



    class App extends Component {

        // todos={visibleTodos} 采集 visibleTodos 数据

        render() {



            const { dispatch, visibleTodos } = this.props

            return (

               


                   
                        OnAddClick={text =>

                            dispatch(addTodo(text))

                        } />

                   
                        todos={visibleTodos}

                    />

               


            )

        }

    }





    /*

        {

          visibilityFilter: 'SHOW_ALL',

          todos: [

            {

              text: 'Consider using Redux',

              completed: true,

            },

            {

              text: 'Keep all state in a single tree',

              completed: false

            }

          ]

        }

     */





    /*

        使用 todos 方法,返回 state 数据,构建数据完毕

        {

            visibilityFilter: 'SHOW_ALL',

            visibleTodos: [

                {



                }

            ]

        }

     */



    // actions.js 中的 VisibilityFilters

    /*

        selectTodos(state.todos, state.visibilityFilter)



        state.visibilityFilter 等于 'SHOW_ALL'



        VisibilityFilters.SHOW_ALL 的值等于 'SHOW_ALL'



        statv.todos 返回空值

     */

    function selectTodos(todos, filter) {

        switch (filter) {

            case VisibilityFilters.SHOW_ALL:

                return todos

        }

    }



    /*

        {

            visibilityFilter: SHOW_ALL,

            visibleTodos: [

                selectTodos(state.todos, state.visibilityFilter)

            ]

        }



     */



    // visibilityFilter 未知



    // Which props do we want to inject, given the global state?



    /*

        visibilityFilter: state.visibilityFilter



        state 调用了 reducers 中方法 visibilityFilter 返回默认值为 'SHOW_ALL'



        第一个 visibilityFilter 为 'SHOW_ALL'

     */

    function select(state) {

        return {

            visibleTodos: selectTodos(state.todos, state.visibilityFilter),

            visibilityFilter: state.visibilityFilter

        }

    }



    // 包装 component ,注入 dispatch 和 state 到其默认的 connect(select)(App) 中;

    export default connect(select)(App);


    1
    state.visibilityFilter

    这种用法是等于

    1
    visibilityFilter(state)

    吗?

    项目的地址

    项目

    在redux02中


       



    推荐阅读
    • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
    • Spring源码解密之默认标签的解析方式分析
      本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
    • 向QTextEdit拖放文件的方法及实现步骤
      本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
    • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
    • Java太阳系小游戏分析和源码详解
      本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
    • vue使用
      关键词: ... [详细]
    • Linux重启网络命令实例及关机和重启示例教程
      本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
    • 开发笔记:加密&json&StringIO模块&BytesIO模块
      篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
    • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
    • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
    • 知识图谱——机器大脑中的知识库
      本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
    • 后台获取视图对应的字符串
      1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
    • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
    • 《数据结构》学习笔记3——串匹配算法性能评估
      本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
    • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
    author-avatar
    卖女孩的小方子
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有