小编Oli*_*r D的帖子

存储未在 redux 中更新?

在“收藏夹列表”reducer

我有两个辅助函数“添加/删除”数组中的项目

添加运行良好,但删除它并没有在实际时间更新商店,因为我的 UI 中有一个检查器,用于检查数组中是否有这个 Song_id 并基于它我更新了心形图标但它不能正常工作当我调度删除操作时,换句话说不重新渲染组件”!。

动作文件

import {ADD_TO_FAVORITE, REMOVE_FROM_FAVORITE} from './types';

export const addToFavoriteFunction = track_id => {
  return {
    type: ADD_TO_FAVORITE,
    payload: track_id,
  };
};

export const removeFromFavoriteFunction = track_id => {
  return {
    type: REMOVE_FROM_FAVORITE,
    payload: track_id,
  };
};
Run Code Online (Sandbox Code Playgroud)

减速器

import {ADD_TO_FAVORITE, REMOVE_FROM_FAVORITE} from '../actions/types';

let initialState = [];

const addSongFav = (songs, songId, flag) => {
  if (songs.some(song => song.track_id === songId)) {
    return songs;
  } else {
    let isFav = …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native redux react-redux

1
推荐指数
1
解决办法
147
查看次数

更新后如何重新渲染 Formik 值 - React Native?

我有一个用于更新以前数据“姓名、电子邮件、年龄等”的屏幕。我第一次调用一个从服务器名称获取数据的函数getProfileData()

用户写入新数据后,我为该“更新配置文件”发送 POST 请求

它是成功的,但在那之后,我想用新数据重新渲染这个表单,所以我调用该getProfileData()函数来获取新数据,但它无法重新渲染输入值!它只是仍然使用以前的数据

我也尝试过,componentDidUpdate()但遗憾的是没有重新渲染:)

那么我该如何解决呢?

代码

getProfileData = async () => {
    let USER_TOKEN =
      '....';
    let AuthStr = `Bearer ${USER_TOKEN}`;
    let response = await API.get('/profile', {
      headers: {Authorization: AuthStr},
    });
    let {
      data: {data},
    } = response;
    let password = '';
    let password_confirmation = '';
    let {name, email, avatar, age, gender, country_id} = data;
    let initialValues = [];
    initialValues.push({
      name,
      password,
      password_confirmation,
      email,
      avatar,
      age,
      gender,
      country_id,
    });
    this.setState({initialValues: initialValues, loading: false}, …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native formik

0
推荐指数
1
解决办法
8185
查看次数

如何解决 React Native 项目中权限被拒绝的问题?

任何人在跑步后都遇到过这个问题

react-native run-android/ios
Run Code Online (Sandbox Code Playgroud)

android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java(权限被拒绝)

当我sudo在任何命令之前写,就像npm install/yarn add etc它工作得很好

否则我遇到了与权限相关的错误

macos shell sudo react-native

0
推荐指数
1
解决办法
5180
查看次数

如何使用 React 导航访问 redux 商店?

我有应用程序“音乐应用程序”,供两个用户输入“访客,用户注册”

我有一个底部导航器,当访客打开我的应用程序时,我只想渲染 4 个底部选项卡“主页、浏览、搜索、广播”。

但是当用户登录/注册时,我想渲染 5 个选项卡(之前的选项卡加上“Library”选项卡)。

所以

我在用户register\login时分派操作,并将 isLogin 状态从false更改为true并执行一些操作,例如向我的抽屉添加一些其他数据,看起来不错,

我想访问react-navigation文件“ Tabs.js ”中的redux存储,

我想访问状态,mapStateToProps但无法this.props.isLogin从非类组件访问!

所以我不知道如果我不使用类组件我该怎么做!

那么有没有办法使用 Tabs.js 文件中的“connect HOC”来访问 redux 存储?

代码

Tabs.js 文件

import {connect} from 'react-redux';
import {store} from '../redux/store/store';

const LoginTabs = createBottomTabNavigator({....}); // For user '5 tabs'

const notLoginTabs = createBottomTabNavigator({....}); // For Guest '4 tabs'



const App = this.props.isLogin ? LoginTabs : notLoginTabs; // Not work i know :P

export default (createAppContainer(App));
Run Code Online (Sandbox Code Playgroud)

编辑德鲁·里斯的答案

当我尝试以这种方式执行此操作时,我收到了错误消息 …

javascript reactjs react-native redux react-navigation

0
推荐指数
1
解决办法
3802
查看次数