简体   繁体   English

React-Redux useSelector() 不返回整个字符串

[英]React-Redux useSelector() not returning the entire string

I have some values stored in my Redux global store.我的 Redux 全局存储中存储了一些值。 However, when I try to retrieve it's values, I get only the first character.但是,当我尝试检索它的值时,我只得到第一个字符。 I need the entire string from the redux store.我需要 redux 商店的整个字符串。

My redux store:我的 redux 商店:

path(pin):"https://dog.ceo/api/breed/collie/border/images"
breed(pin):"collie"
subBreed(pin):"border"

My code:我的代码:

  const [breed, setBreed] = useSelector((state) => state.breed);
  const [subBreed, setsubBreed] = useSelector((state) => state.subBreed);

  React.useEffect(() => {
    console.log("Breed in useEffect: ", breed);
    console.log("subBreed in useEffect: ", subBreed);
  }, [breed, subBreed]);

The console output:控制台 output:

Breed in useEffect:  c
subBreed in useEffect:  b

Issue问题

You are using destructuring assignment to grab out individual characters from a string.您正在使用解构赋值从字符串中提取单个字符。

const [breed, setBreed] = useSelector((state) => state.breed);
const [subBreed, setsubBreed] = useSelector((state) => state.subBreed);

Here breed and subBreed are the first character from each character array, or string.这里的breedsubBreed品种是每个字符数组或字符串中的第一个字符。

 const [breed, setBreed] = "collie"; console.log({ breed }); // "c" from "collie"

Solution解决方案

The useSelector hook only returns the state you select, not an array of state and setter. useSelector挂钩仅返回 state 和 select,而不是 state 和设置器的数组。 Just assign the selected values to breed and subBreed .只需将选定的值分配给breedsubBreed

const breed = useSelector((state) => state.breed);
const subBreed = useSelector((state) => state.subBreed);

or或者

const { breed, subBreed } = useSelector((state) => state);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 将 React-Redux useSelector Hook 作为道具传递 - Passing React-Redux useSelector Hook as Props useSelector 返回 undefined - react-redux - useSelector returns undefined - react-redux useSelector state 返回 undefined (React-Redux) - useSelector state returns undefined (React-Redux) react-redux useSelector hook不允许将props直接传递给选择器 - react-redux useSelector hook disallows passing props directly to the selector Redux React-Native(在 react-redux 中使用 useSelector 与使用 connect 有什么区别?) - Redux React-Native (What's the diffrence using useSelector in react-redux than use connect?) MapStateToProps在react-redux中返回Null - MapStateToProps Returning Null in react-redux 通过 React-Redux 的 useSelector 在 React Functional Components 中使用参数化选择器(Selector Factory) - Use Parameterized Selector (Selector Factory) in React Functional Components with useSelector from React-Redux React redux 使用选择器和参数 - React redux useSelector and parameters React-redux 使用选择器不工作。 无法读取未定义 ('channelId') 的属性 - React-redux Useselector not Working. Cannot read properties of Undefined ('channelId') 错误:找不到 react-redux 上下文值; 请确保组件被包裹在一个<Provider>在使用 useselector 时 - Error: could not find react-redux context value; please ensure the component is wrapped in a <Provider> while using useselector
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM