小编del*_*ete的帖子

Android Studio:"请选择Android SDK"

成功将Eclipse-Android-Project导入"Android Studio 1.4"后,__CODE__当我点击按钮在模拟器中运行应用程序时,我收到错误.

但我找不到任何办法.

单击"运行"时会打开此对话框:

点击

这是"项目结构"对话框:

我现在应该怎么做?

android eclipse-project-file android-studio

1021
推荐指数
33
解决办法
43万
查看次数

警告:数组或迭代器中的每个子节点都应该具有唯一的"键"支柱.检查`ListView`的render方法

我内置有应用ReactNative无论是iOS和了Android 的ListView.使用有效数据源填充列表视图时,屏幕底部会显示以下警告:

警告:数组或迭代器中的每个子节点都应该具有唯一的"键"支柱.检查渲染方法ListView.

这个警告的目的是什么?在消息之后,它们链接到以下页面:https://fb.me/react-warning-keys,其中讨论了完全不同的内容,这些内容与本机反应无关,但与基于web的reactjs无关.

我的ListView是用这些语句构建的:

render() {
    var store = this.props.store;

    return (

        <ListView
            dataSource={this.state.dataSource}
            renderHeader={this.renderHeader.bind(this)}
            renderRow={this.renderDetailItem.bind(this)}
            renderSeparator={this.renderSeparator.bind(this)}
            style={styles.listView}
            />

    );
}
Run Code Online (Sandbox Code Playgroud)

我的DataSource包含以下内容:

    var detailItems = [];

    detailItems.push( new DetailItem('plain', store.address) );
    detailItems.push( new DetailItem('map', '') );

    if(store.telefon) {
        detailItems.push( new DetailItem('contact', store.telefon, 'Anrufen', 'fontawesome|phone') );
    }
    if(store.email) {
        detailItems.push( new DetailItem('contact', store.email, 'Email', 'fontawesome|envelope') );
    }
    detailItems.push( new DetailItem('moreInfo', '') );

    this.setState({
        dataSource: this.state.dataSource.cloneWithRows(detailItems)
    });
Run Code Online (Sandbox Code Playgroud)

ListView-Rows使用以下内容进行渲染:

        return (
            <TouchableHighlight underlayColor='#dddddd'> …
Run Code Online (Sandbox Code Playgroud)

listview facebook reactjs react-native

77
推荐指数
8
解决办法
13万
查看次数

React Native:命令`run-ios`无法识别

我有两个不同的ReactNative项目:

  • a)2016年1月的项目
  • b)从现在开始的一个全新的反应原生项目(2016年3月20日)

在新项目中,react-native的cli工具包含命令"run-ios"接下来的两个"run-android",但不包括2016年januar的旧项目.在较旧的项目中没有"run-ios"命令可供选择:

$ react-native run-ios
Command `run-ios` unrecognized
Usage: react-native <command>
Run Code Online (Sandbox Code Playgroud)

我已经运行了"react-native upgrade"而没有任何问题.

如何在旧项目中获得命令"run-ios"?

react-native

54
推荐指数
5
解决办法
3万
查看次数

如何更改React Native中的"Bundle Identifier"?

启动一个新的react-native项目,xcode-project输出bundle-identifier"org.reactjs.native.example.XYZApp".XYZ是我的真实项目名称的占位符.

有没有办法在react-native端更改此bundle标识符?当然,我可以在XCode中更改它.但这不安全,因为当react-native重新创建xcode项目时,它可以被覆盖,这可能在任何时候发生,也可能在重建项目时发生.

xcode ios react-native

30
推荐指数
5
解决办法
3万
查看次数

"export default const"上的意外标记

我有两个不同的reat-native项目,具有完全相同的库版本.

但最新的一个涉及"export default const",另一个没有.

这两个电话有什么区别?

第一个正确编译并且已经在app商店中使用以下代码:

export default const result = [...]
Run Code Online (Sandbox Code Playgroud)

第二个具有相同的package.json并且在相同的代码"意外令牌(1:15) - >位置15在"默认"之后失效.

这是使用的package.json:

{
  "name": "rn_simpleorm",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "react-native start"
  },
  "dependencies": {
    "react": "15.3.2",
    "react-native": "^0.32.0"
  },
  "jest": {
    "preset": "jest-react-native",
    "modulePathIgnorePatterns": [
      "node_modules/react-native/node_modules/"
    ]
  },
  "devDependencies": {
    "babel-jest": "^15.0.0",
    "babel-preset-react-native": "^1.9.0",
    "jest": "^15.1.1",
    "jest-react-native": "^15.0.0",
    "react-test-renderer": "^15.3.1"
  }

}
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 react-native

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

如何在回调中"减少收益率"?

因为回调中不允许"yield" - 语句,我如何在回调中使用redux-saga的"put"功能?

我想要进行以下回调:

function onDownloadFileProgress(progress) {
  yield put({type: ACTIONS.S_PROGRESS, progress})
}
Run Code Online (Sandbox Code Playgroud)

这不起作用并以"意外令牌"结束,因为普通函数不允许产生.否则我不能将回调作为" 函数* " 传递,这将允许收益.ES6似乎在这里打破了.

我读过redux-saga提供了一些称为" 频道 "的功能,但说实话,我没有得到它.我已经多次阅读过关于这些频道和示例代码的内容,但在所有示例中,他们都解决了非常困难和不同的问题,而不是我的简单案例,并且在一天结束时我已经到了那里.

有人能告诉我如何处理这个问题的解决方案吗?

整个背景:

function onDownloadFileProgress(progress) {
  yield put({type: ACTIONS.S_PROGRESS, progress})
}

export function * loadFile(id) {
  let url = `media/files/${id}`;

  const tempFilename = RNFS.CachesDirectoryPath + '/' + id;

  const download = RNFS.downloadFile( {
    fromUrl: url,          
    toFile: tempFilename,  
    background: false,
    progressDivider: 10,
    progress: onDownloadFileProgress,
  })

  yield download.promise;

}
Run Code Online (Sandbox Code Playgroud)

javascript yield ecmascript-6 redux redux-saga

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

如何在ReactNative Project中将本地文本文件加载到字符串变量中?

在我的ReactNative项目中有一些静态文本文件,我想加载到字符串变量中.像这样:

var content = loadPlainTextFile("resources/tags.txt");
var tags = content.split("\n");
Run Code Online (Sandbox Code Playgroud)

我尝试以同样的方式要求我需要javascript文件,但它不起作用因为本机反应给出异常"无法解析模块./data/tags.txt".

var customData = require('./data/tags.txt');
Run Code Online (Sandbox Code Playgroud)

我猜require()无法处理纯文本文件?

怎么做正确?

javascript reactjs react-native

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

对 NextJS 感到困惑,是否使用“app”目录或“pages”以及“index.tsx”或“page.tsx”

NextJS 让我感到困惑。我读过的所有官方示例和许多(大多数,全部?)教程(包括官方文档)都使用 - 目录pages(以及,如果需要,用于api后端服务的 - 目录)组织应用程序。他们声称pages目录下的每个文件都会自动反映相应的路由名称。

然而,当使用创建新的 NextJS 应用程序时npx create-next-app@latest,我得到了完全不同的设置。它包含一个名为appand not的文件夹pages。此外,app-folder 包含一个文件作为以前在pages-folder 中page.txs的同义词。index.tsx

在这些教程和文档中,存在App通过放置文件来覆盖系统组件的概念pages/_app.tsx。我找不到任何如何使用新目录方案执行此操作的信息。

教程和文档:

- package.json
- next.config.js
+ pages
  - _app.tsx
  - _document.tsx
  - about.tsx
  - index.tsx
+ public
  - favicon.ico
Run Code Online (Sandbox Code Playgroud)

新脚手架:

+ app
  - favicon.ico
  - globals.css
  - layout.tsx
  - page.tsx
- next.config.hs
- package.json
Run Code Online (Sandbox Code Playgroud)

发生什么事了NextJS?什么是对的?将创建的脚手架是否错误npx create-next-app@latest,或者是否有我找不到的其他版本的文档?

如果新的脚手架是正确的版本,我如何在app目录中放置新的路由和子页面?拥有 - 目录的概念 …

next.js next.js13

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

在哪里下载稍微旧的iOS SDK?

使用XCode 7.2从头开始安装OSX给了我iOS SDK 9.2.

我需要iOS SDK 9.0来解决一些兼容性问题.有没有下载页面?

我访问了https://developer.apple.com/ios/download/,它现在只包含到iOS 9.2和iOS 9.3beta的下载链接.

在此输入图像描述

sdk xcode ios

11
推荐指数
2
解决办法
3万
查看次数

如何在行数据更改时强制ReactNative ListView更新行?

ReactNative的ListView在数据更新方面有点奇怪.

我有一个对象数组(名称:Item),它有3个属性:

  • id(int)
  • 名字(字符串)
  • 启用(bool)

项目数组显示在ListView中.每行显示项目的名称和表示启用状态的复选标记(红色表示真,灰色表示假).在我的例子中,它被简化为一个简单的字符串"true"/"false".

每行都嵌入一个带有onPress-EventHandler的TouchableOpacity,它可以切换所表示项目的启用状态.

不幸的是,ListView不会更新该行.

在调试rowHasChanged-Event时,事实证明rowHasChanged-Event永远无法确定已更改的状态,因为在切换enabled-property之后两行都已获得新状态而不对UI进行任何更新.

这是我的代码:

Item-Class:Item.js

export default class Item {

  constructor(id, name, enabled) {
    this._id = id;
    this._name = name;
    this._enabled = enabled;
  }

  get id() {return this._id}

  get name() {return this._name}
  set name(value) {this._name = value}

  get enabled() {return this._enabled}
  set enabled(value) {this._enabled = value}

}
Run Code Online (Sandbox Code Playgroud)

ListView:

'use strict';

import React, {PropTypes, Component} from 'react';

import {View,TouchableOpacity, TouchableHighlight,
  Text, ListView, StyleSheet} from 'react-native';

import Item from './Item';

class ItemListView extends Component {

  constructor(props) …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-listview

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