小编Lou*_*ocq的帖子

React Native中的计时器(this.setTimeout)

我正在尝试在我的组件中设置TimeOut函数.据我所知,只是像使用网络一样使用setTimeout不是一个正确的答案.这会导致计时和泄漏内存问题.

我已经读过现有的Timers API in react-native.

但是,它不符合ES6,我引述:

请记住,如果您为React组件使用ES6类,则没有内置的mixin API.要将TimerMixin与ES6类一起使用,我们建议使用react-mixin.

react-mixin上,我们发现以下消息:

注意:mixins基本上死了.仅将其用作旧代码的迁移路径.喜欢高阶组件.

所以我的最后一个问题是:2017年我们如何正确使用计时器(setTimeOut)和react-native?

javascript timer react-native

8
推荐指数
2
解决办法
1万
查看次数

在react-native中使用Blob下载文件

自React-native v0.54和Expo 以来SDK v26,现在支持Blob.

我正在尝试将URL上可用的文件下载到我的手机上(如果可能,请在我的DownloadsAndroid目录中)

我现在所能找到的只是现有的解决方案,使用react-native-fetch-blob它似乎不再需要了.

如果有人可以提供一个关于如何开始实现此功能的简短示例 Expo snack

javascript blob react-native expo

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

获取JSESSIONID值并在AngularJS中创建Cookie

我在AngularJS中使用来自客户端的Web RestFUL API.

app.controller('LoginController', [
    '$http',
    '$cookies', 

    function($http, $cookies) {
      this.credentials = {};

      this.http = $http;

      this.login = function() {
        console.log(this.credentials);

        var authdata = btoa(
            this.credentials.username +
            ':' +
            this.credentials.password
        );

        $http.defaults.headers.common['Authorization'] = 'Basic ' + authdata;

        console.log($http);

        var res = $http.post("http://API_NAME/library");

        res.success(function(data, status, header){
            alert('Successfull func');

            console.log($cookies.get('JSESSIONID'));
        });

        res.error(function(data, status, headers, config) {
            console.log('Error Log');
        });
     };
   },
]);
Run Code Online (Sandbox Code Playgroud)

然后,我有这个Http标题响应

Set-Cookie:JSESSIONID=azekazEXAMPLErezrzez; Path=/; HttpOnly
Run Code Online (Sandbox Code Playgroud)

我正在使用ngCookies获取JSESSIONID值,然后在我的浏览器中手动创建它,但我无法访问它.

我已经在StackOverflow中看到了关于此的所有帖子,但它们已被弃用或完全不清楚.

感谢您的关注和帮助.

javascript cookies http angularjs

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

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

JsPrettier on Sublime text [OSX]

我尝试在我的 Sublime 文本上使用 JSPrettier 安装 auto_format_on_save。但是每次我保存我的文件时,我都会得到:

------------------
 JsPrettier ERROR 
------------------

Prettier reported the following error(s):

env: node: No such file or directory

Process finished with exit code 127
Run Code Online (Sandbox Code Playgroud)

对于我所阅读的内容,这是因为我正在使用oh-my-zhnvm但我没有成功正确配置我的安装文件。

请帮忙

哪个节点 :: /Users/mymac/.nvm/versions/node/v9.5.0/bin/node

谢谢你的帮助

sublimetext3 jsprettier

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

React Native - FlatList - 内部状态

我正在使用FlatList,以便Store在我的react-native应用程序中实现View.

我正在从我在组件的componentDidMount循环步骤中完成的API调用中检索商店项目,然后将其存储在我的本地state.

我在Flatlist文档中找到了这句话:

当内容滚出渲染窗口时,不会保留内部状态.确保在项目数据或外部存储(如Flux,Redux或Relay)中捕获所有数据.

我想知道这意味着什么.我只是使用我的本地状态,它似乎工作得很好.这样做有什么问题吗?你能否就这一点向我提供更多信息?

此外,如果您对我的用例有任何建议或优化,请随意添加它们.

谢谢你的时间.

react-native react-native-flatlist

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

为什么我需要在 Asyncstorage 中使用 redux-persist?

起初,我的RN 应用程序仅使用AsyncStorage来存储我的用户身份验证参数。

最近,我决定将redux集成到这个应用程序中,这样我就可以拥有全局存储、健壮的代码结构和干净的单元测试。

所以我确实实现了ReduxRedux-thunk。它工作得很好,但我注意到了一些让我感兴趣的事情。当我刷新我的应用程序时,我注意到我的 redux state没有持久化

我丢失了我的身份验证凭据。在生产中,这可能意味着我的用户每次关闭我的应用程序时都必须登录。

所以我不得不redux-persist使用AsyncStorage来实现。

我的问题是:根据定义,当 AsyncStorage 已经存在时,为什么我需要在我的 react-native 应用程序中实现 redux-persist,

一个简单的、未加密的、异步的、持久的、键值存储系统,对应用程序是全局的。

?

谢谢你的解释

react-native redux expo redux-persist

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

通过ID从列表中检索多个项目

我有一个数组,如:

const cars = [
  { id: 23423, brand: 'bmw', doors: 2, color: 'red' },
  { id: 23452, brand: 'volvo', doors: 4, color: 'gray' },
  { id: 97456, brand: 'citroen', doors: 4, color: 'black' },
  { id: 45784, brand: 'dodge', doors: 2, color: 'red' },
  { id: 23452, brand: 'ferrari', doors: 2, color: 'red' },
  { id: 23522, brand: 'bmw', doors: 2, color: 'blue' }
];
Run Code Online (Sandbox Code Playgroud)

这里我有一个id列表,例如: [45784, 23522]

我想找到使用map,filter或reduce的最佳方法,使用ids数组检索第一个数组中的项目.

谢谢

javascript ecmascript-6

2
推荐指数
2
解决办法
95
查看次数

React:Switch Case/Same Component无法卸载

我正在React-native中实现一个多步骤过程(类似于react).

我有一个函数来确定显示哪个步骤:

renderStep = step => {

  switch (processStep[step]) {
    case 0:
      return (
        <Product />
      );
      break;
    case 1:
      return (
        <Select data={size} />
      );
      break;
    case 2:
      return (
        <Select data={adresses} />
      );
      break;
    case 3:
      return (
        <RecapOrder />
      );
      break;
    default:
      return null;
  }
};
Run Code Online (Sandbox Code Playgroud)

我的第二步和第三步使用相同的_stepSelect组件.它使用相同的逻辑,所以我使用相同的组件.

我的问题是:该Select组件不台阶之间卸载12即使道具的变化.

因此,从步骤1更改为步骤2时,我的本地状态不会重置.

如何强制卸载组件.

javascript reactjs react-native

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