小编Jon*_*man的帖子

计算数组数组中的项目?

如果我有一个声明为的对象

let compoundArray = [Array<String>]
Run Code Online (Sandbox Code Playgroud)

是否有一个属性可以给我在compoundArray中包含的所有数组中的字符串数?

我可以通过在每个数组中添加所有项目来实现:

var totalCount = 0
for array in compoundArray {
   totalCount += array.count }
//totalCount = total items in all arrays within compoundArray
Run Code Online (Sandbox Code Playgroud)

但这似乎很笨拙,看起来swift会有一个Array的属性/方法来做到这一点,不是吗?

谢谢!

arrays swift

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

Git History 扩展在 VS Code 中不起作用

我之前在 VS Code 中使用过非常好的 Git History 扩展,但是目前当我单击它的按钮或从命令面板调用它时,没有任何反应。所有其他 git 函数都工作正常。我刚刚卸载并重新安装了扩展程序,但无济于事。

还有其他人有这个问题吗?

visual-studio-code git-history

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

如何搜索 Google Maps API 并获取多个地点?

我已经能够从 Google 地图向 Places API 发出请求,但我总是得到一个结果。

例如,搜索“白宫”或实际街道地址之类的内容,会得到一个结果:

https://maps.googleapis.com/maps/api/place/findplacefromtext/json
  ?input=the%20white%20house
  &inputtype=textquery
  &fields=formatted_address,name,geometry
  &key=API_KEY

response: {
  candidates: [
    {
      formatted_address: "1600 Pennsylvania Ave NW, Washington, DC 20500, USA",
      geometry: {
        location: {
          lat: 38.8976763,
          lng: -77.0365298
        },
        viewport: {
          northeast: {
            lat: 38.90148105,
            lng: -77.03520012010728
          },
          southwest: {
            lat: 38.89640805000001,
            lng: -77.03789977989273
          }
        }
      },
      name: "The White House"
    }
  ],
  status: "OK"
};
Run Code Online (Sandbox Code Playgroud)

如果我想找到我周围所有的星巴克怎么办?(如何限制搜索半径是后面的问题)

https://maps.googleapis.com/maps/api/place/findplacefromtext/json
  ?input=starbucks
  &inputtype=textquery
  &fields=formatted_address,name,geometry
  &key=API_KEY

response: {
  candidates: [],
  status: "ZERO_RESULTS"
};

Run Code Online (Sandbox Code Playgroud)

一些评论表明我的“星巴克”搜索应该得到不同的响应。为什么我不是?

google-maps-api-3 google-places-api google-places

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

ReferenceError: 尝试测试 AsyncStorage 时未定义 __DEV__

我正在使用 Jest 来测试我的 React Native 应用程序。我正在尝试模拟对 AsyncStorage 的调用,并且正在使用该mock-async-storage包。按照他们的指示,我设置了他们简单的测试文件,如下所示:

import configureMockStore from "redux-mock-store";
import thunk from "redux-thunk";
import "react-native";
import MockAsyncStorage from "mock-async-storage";
import { AsyncStorage as storage } from "react-native";

import Station from "../src/models/Station";
import * as actions from "../src/redux/actions/stationActions";

const mockStore = configureMockStore([thunk]);

/* ...other tests  */

describe("async fetching actions", () => {
  describe("using MockAsyncStorage", () => {
    const mock = () => {
      const mockImpl = new MockAsyncStorage();
      jest.mock("AsyncStorage", () => mockImpl);
    };

    mock();

    it("Mock Async …
Run Code Online (Sandbox Code Playgroud)

unit-testing jestjs react-native

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

Xcode 11 beta 中的配置文件错误

我一直在 Xcode 10 中构建我的应用程序,Fastlane 一直在管理所有配置文件和证书以及一切。

在我的手机上安装了 iOS 13 beta 后,我安装了 Xcode 11 beta,现在收到错误:“配置配置文件“match Development com.myapp.bundleId”不包括签名证书“​​Apple Development:我的名字(ADFGLAUDFHB) )”。

我害怕改变任何东西,以免弄乱我神奇的快速通道设置或任何东西。希望有人知道该怎么做。谢谢!

xcode fastlane

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

当动作完成时如何告诉 React-Redux 视图?

很抱歉这里的主题行可能不清楚。

我的“添加评论”视图触发了开始操作。reducer 通过设置isLoading为 true来响应 start 动作,这会导致视图显示它正在加载。当我的操作完成时,isLoadingreducer 中的成功和失败都设置为 false,并且活动指示器消失。

在失败的情况下,我可以将错误写入减速器,并且当减速器中存在错误时,我可以在我的视图中呈现错误,并且我可以在下次启动操作触发时清除减速器中的错误。

所以我可以通知我的错误观点,但是如何通知我的成功观点,并用评论列表替换评论?

我能想到的所有解决方案听起来都很笨拙和错误:

  • newReview减速器中的一个属性,如果newReview是真实的,我的视图将呈现评论列表,然后触发“清除新的评论操作”?
  • 以某种方式存储attemptedReview并添加showList需要检查attemptedReview当前产品评论中是否存在的逻辑?showList更简单地说,该逻辑还包括用户是选择显示列表还是显示表单的状态?

reactjs redux

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

如何触发测试组件的重新渲染?

我正在测试这个连接的组件:

export class ExclusiveSelectboxesFormSectionView extends React.Component<Props> {
  handleSelection = (field: Field, message: string) => {
    this.props.setCard({ message, field });
  };
  cancelSelection = () => this.props.setCard({ message: null, field: null });

  render() {
    return (
      <View>
        {this.props.cancelTitle && (
          <CheckBox
            title={this.props.cancelTitle}
            checked={this.props.card.field == null}
            onPress={this.cancelSelection.bind(this)}
            checkedIcon="dot-circle-o"
            uncheckedIcon="circle-o"
          />
        )}
        {this.props.fields.map((field, i) => {
          const props = {};

          props.isSelected = this.props.card.field == field;
          props.selectionHandler = this.handleSelection.bind(this);

          return <ExclusiveFieldView field={field} key={i} {...props} />;
        })}
      </View>
    );
  }
}

const mapState = ({ currentFormReducer …
Run Code Online (Sandbox Code Playgroud)

reactjs jestjs react-redux

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

使用react-simple-keyboard进行正确的引用处理

我正在使用react-simple-keyboard, 并通过使用空字符串调用useState钩子的设置器来清除输入,但不会清除键盘的“内存”,因此下次输入时,您将再次添加到旧字符串。

react-simple-keyboard(RSK) 有一个clearInput可以解决这个问题的函数,并且(据我所知)必须在keyboardRef. 所以我调整了它:

我的键盘组件(包装器)

export default KeyboardElement = ({ onChange, keyboardRef }) => {
  return <KeyboardContainer>
    <Keyboard
      layout={ {
        'default': [
          '1 2 3 4 5 6 7 8 9 0',
          'Q W E R T Y U I O P',
          'A S D F G H J K L',
          'Z X C V B N M {bksp}',
        ],
      } }
      theme={ 'firmm-keyboard' }
      keyboardRef={ keyboardRef }
      onChange={ onChange …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs react-simple-keyboard

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

情感风格组件在 WebStorm 中无法自动完成

@emotion/styled在 WebStorm 中使用,并且在我的样式对象中没有用于自动完成的智能感知(或在 WebStorm 中调用的任何内容)。Typescript 似乎确实在某种程度上进行了检查:

const StepTimer = styled.button({
  borderRadius: 50,
  height: '30px',
  blorg: 3, // does not give a TS error for unknown key
  display: 1 // gives a TS error for incorrect value type
})
Run Code Online (Sandbox Code Playgroud)

同一台计算机上的 VSCode 在对象内部提供自动完成功能,尽管不是针对值(例如,我没有获得诸如等display之类的值的选项block, inline,

是不是我的设置有什么错误?我在 Mac 上。

emotion webstorm typescript

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

Cypress 在我的 ts 文件旁边添加了 js 文件

我在 TypeScript 和 WebStorm 中使用 Cypress。我已经在项目 A1 上工作了几个星期,我添加了 Cypress,我将 TS 添加到 Cypress,然后事情开始变得有点有趣,包括在 Cypress 和我的 src 中将 js 文件与 ts 文件一起添加文件夹。(tsx 文件没有这样做,只有 ts)

\n

所以我重新启动了该项目:我创建了一个全新的 Create React App 项目 A2,并开始将文件从 A1 一个接一个(或一个文件夹一个文件夹)拖动到 A2。我通过在 A2cypress open中没有 cypress 文件时运行来将 Cypress 文件添加到 A2,这导致 Cypress 添加其文件。然后我从 A1 添加了测试(将代码复制到新文件中,而不是复制文件)并设置各种配置文件和内容,例如:

\n
    \n
  • TS 识别我的自定义 cypress 命令
  • \n
  • 不会创建额外的 JS 文件
  • \n
\n

然后我删除了A1项目中的所有文件,并从A2中拖入所有文件(减去文件node_modules夹),然后运行yarn install.

\n

一切正常,除了 Cypress 文件夹仍然在 ts 文件旁边创建 js 文件。

\n

很难确定发生这种情况的实际时刻:我写了这篇文章并放弃了它,因为事情似乎运行良好。但几个小时后我发现 js 文件又回来了!仅在 Cypress 文件夹中,包括 Cypress 文件夹中的所有 ts …

webstorm typescript reactjs cypress

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