【问题标题】:Add array in Redux to empty Array将 Redux 中的数组添加到空数组
【发布时间】:2020-04-11 10:38:44
【问题描述】:

当我第一次移动到屏幕时,如何将数据放入“数据”中。只有在搜索框中输入值时才有效。

这是我的代码:

  const resData = useSelector(state => state.products.products);
  const [data, setData] = useState(resData);

搜索功能

const SearchFilterFunction = text => {
    const newData = resData.filter(item => {
      const itemData = item.productName
        ? item.productName.toUpperCase()
        : ''.toUpperCase();
      const textData = text.toUpperCase();
      return itemData.indexOf(textData) > -1;
    });
    setData(newData);
    setText(text);
  };

还有 TextInput & Flatlist

      <TextInput
        // style={styles.textInputStyle}
        onChangeText={text => SearchFilterFunction(text)}
        value={text}
        underlineColorAndroid="transparent"
        placeholder="Search Here"
      />
      <FlatList
        data={data}

【问题讨论】:

  • resData 有什么价值?
  • 这是一个数组..

标签: javascript arrays react-native redux


【解决方案1】:

我建议使用useEffect 钩子来捕捉resData 的变化。通过将resData 传递到依赖数组中,您可以在resData 发生变化时调用setData

尝试如下:

const resData = useSelector(state => state.products.products);
const [data, setData] = useState([]);

useEffect(() => {
   setData(resData);
}, [resData]);

我希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2018-08-22
    • 1970-01-01
    • 2017-07-12
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    相关资源
    最近更新 更多