在“收藏夹列表”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) 我有一个用于更新以前数据“姓名、电子邮件、年龄等”的屏幕。我第一次调用一个从服务器名称获取数据的函数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) 任何人在跑步后都遇到过这个问题
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它工作得很好
否则我遇到了与权限相关的错误
我有应用程序“音乐应用程序”,供两个用户输入“访客,用户注册”
我有一个底部导航器,当访客打开我的应用程序时,我只想渲染 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)
当我尝试以这种方式执行此操作时,我收到了错误消息 …
react-native ×4
javascript ×3
reactjs ×3
redux ×2
formik ×1
macos ×1
react-redux ×1
shell ×1
sudo ×1