获得徽章 0
- # || 和 &&
“假值”总共只有6个:
false,undefined,null,0,""(空字符串),NaN
使用`||`运算符,我们可以返回第一个真值。 如果所有值都是假值,则返回最后一个值。 `(false || {} || null)`:空对象`{}`是一个真值。 这是第一个(也是唯一的)真值,它将被返回。`one`等于`{}`。 `(null || false ||“”)`:所有值都是假值。 这意味着返回传递的值`""`。 `two`等于`""`。 `([] || 0 ||“”)`:空数组`[]`是一个真值。 这是第一个返回的真值。 `three`等于`[]`。
`[]`是一个真值。 使用`&&`运算符,如果左侧值是真值,则返回右侧值。 在这种情况下,左侧值`[]`是一个真值,所以返回`Im`。 `""`是一个假值。 如果左侧值是假的,则不返回任何内容。 `n't`不会被退回。展开评论点赞 - 为什么要用 react-redux
如果你还记得阿宽前面介绍的 react 数据流知识,想必你还有印象:当多个组件需要进行数据共享,交换双方的数据,唯一的解决方案就是:提升 state,将原本兄弟组件的 state 提升到共有的父组件中管理,由父组件向下传递数据,子组件进行处理,通过回调函数回传修改 state,这样的 state 一定程度上是响应式的。redux 也是这样的原理!
要知道 redux 是不区分技术栈的,意味着你也可以在 vue 中使用,只是我们经常搭配套餐使用 react。如上述的代码,我们通过 createStore 导出了数据状态树后,在组件中,我们如何得到数据值呢?只能通过 redux 提供的 store.getState() API,意味着我们每个组件都需要写
另一种方式是你可以在根组件获取 store,通过 Props 层层传递,如果你中间组件断层,没传递 Props,就会导致下层组件获取不到值,为了在使用上简洁方便,我们才引入了 react-redux 库。
当你捋清楚三者关系并安装 react-redux 之后,接下来在组件中使用 redux 不再是困难的事。我们将经过 createStore 生成的 store 挂载到 react-redux 提供的 Provider 组件上,这个 Provider 的工作任务是:通过 context 向子组件提供 store。
多说无益,上手试试,我们进入根组件 app.tsx 将其进行修改
import React from 'react';
import ReactDOM from 'react-dom';
import Router from './router';
//引入 store
import store from './store';
// 引入 Provider
import { Provider } from 'react-redux';
function App() {
return (
<Provider store={store}>
<Router />
</Provider>
);
}
ReactDOM.render(<App />, document.getElementById('root'));展开评论点赞