小编Cés*_*rca的帖子

如何在Storybook React App中嵌入StencilJS组件?

我正在尝试将StencilStorybook整合到同一个项目中.我一直在关注这个设置向导这一个但是的步骤之一是组件库中发布到NPM和这不是我想要的.

我有这个我用组件库(文件夹)配置的repo,src以及那些带有Storybook的组件的审阅者,它位于该storybook文件夹中.

问题是,当我使用模板编译组件和复制dist文件夹中的故事书应用程序内并导入组件没有渲染.使用自定义头标签调整配置我能够正确导入它,但是没有应用任何样式.

当我打开网络面板时,导入组件时出现一些错误:

控制台出错

因此,组件存在于DOM中,但可见性设置为隐藏,我认为它在出现错误时会执行.

这是组件au-button:

import { Component } from '@stencil/core';

@Component({
  tag: 'au-button',
  styleUrl: 'button.css',
  shadow: true
})
export class Button {
  render() {
    return (
      <button class="test">Hello</button>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的组成部分的故事:

import React from 'react';
import { storiesOf } from '@storybook/react';

import '../components/components.js'

storiesOf('Button', module)
  .add('with text', () => <au-button></au-button>)
Run Code Online (Sandbox Code Playgroud)

这些是Storybook应用程序中的脚本:

"scripts": {
    "storybook": "start-storybook …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs storybook stenciljs

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

如何在React中使用Typescript声明无状态功能组件?

我已经看到了两种在React中用Typescript声明一个SFC的方法,这两种方法是:

import * as React from 'react'

interface Props {
  message: string
}

const Component = (props: Props) => {
  const { message } = props
  return (
    <div>{message}</div>
  )
}

export default Component
Run Code Online (Sandbox Code Playgroud)

和:

import * as React from 'react'

interface Props {
  message: string
}

const Component: React.StatelessComponent<Props> = props => {
  const { message } = props
  return (
    <div>{message}</div>
  )
}

export default Component
Run Code Online (Sandbox Code Playgroud)

这个问题我看到,如果你在组件中使用它,你可以通过第二种方式从界面中省略子项.

还有什么差异吗?哪一个是首选的,为什么

typescript reactjs

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

如何使用 JobScheduler 为 Android 定期作业指定初始延迟?

我想创建一个具有特定时间和给定周期的正在运行的作业。例如,我想在每个月的第二天安排一个作业,它应该每个月运行。

查看JobInfo.Builder 文档,我还没有找到设置初始延迟的方法。

关于如何实现这一目标的任何想法?

这是以正确的周期运行但不以我想要的初始延迟运行的代码:

fun build(application: Application, periodicity: Days, startDay: Days) {
    val serviceComponent = ComponentName(application, GenerateDebtJobService::class.java)
    val builder = JobInfo.Builder(1, serviceComponent)
        .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
        .setPeriodic(TimeUnit.DAYS.toMillis(periodicity.days.toLong()))

    (application.getSystemService(Context.JOB_SCHEDULER_SERVICE) as JobScheduler).schedule(builder.build())
Run Code Online (Sandbox Code Playgroud)

java jobs android kotlin android-jobscheduler

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

如何从 Android Capacitor 中的嵌入式 WebView 导航到应用程序

我们正在将支付系统与我们的应用程序集成。它在 iOS 上完美运行,但在 Android 中导航回应用程序不起作用。我们想在我们的应用程序内打开支付系统网页。为此,我们在以下位置设置了此配置capacitor.config.json

{
  "server": {
    "allowNavigation": ["sis-t.redsys.es", "*.redsys.es"]
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,集成系统有点棘手。我们需要一个触发帖子的表单组件:

{
  "server": {
    "allowNavigation": ["sis-t.redsys.es", "*.redsys.es"]
  }
}
Run Code Online (Sandbox Code Playgroud)

在我们的代码中app.component.ts,有以下代码:

<form ngNoForm #myFormPost action="https://sis-t.redsys.es:25443/sis/realizarPago" method="post">
  <input type="hidden" name="Ds_SignatureVersion" [value]="dsSignatureVersion" />
  <input type="hidden" name="Ds_MerchantParameters" [value]="dsMerchantParameters" />
  <input type="hidden" name="Ds_Signature" [value]="dsSignature" />
</form>
Run Code Online (Sandbox Code Playgroud)

所有这些都有效,因为它打开了支付系统应用程序。现在,该系统允许我们设置重定向页面以便导航回我们的应用程序。我们已经定了capacitor://localhost/store?r=ko。正如文档中所述,iOS 的方案是capacitor://,Android 的方案是http://。因此,当我们完成操作并尝试通过单击 iOS 上的按钮返回应用程序时,它会完美地返回到应用程序,但 Android 则不会。

我们尝试在 iOS 中将 url 设置为 ,capacitor://localhost/store?r=ko在 Android 中设置为http://localhost/store?r=ko,但是在 Android 中,它会尝试打开浏览器,这是我们不希望的。

我们尝试将 设为androidSchemecapacitor …

angular capacitor

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

具有对象数组和接口的 Typescript 交集类型

我在理解交叉点类型时遇到很多困难。这就是我所指的:

type FooList = Foo[] & {
    bar: string
};

interface Foo {
    baz: string;
}
Run Code Online (Sandbox Code Playgroud)

经过大量摆弄后,我无法创建FooList.

这些打字不是我的,它们来自这个图书馆

这些类型是否意味着FooList必须是 s 数组Foo并且还有一个对象bar?每个Foo对象都必须包含一个属性吗bar

这是游乐场的链接

types typescript

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

无法使用Gradle和Kotlin运行生成的JAR文件

我有一个配置了Gradle和Kotlin的项目。这是一个命令行实用程序,我希望能够从终端运行生成的jar。但是我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
    at com.autentia.impt.MainKt.main(Main.kt)
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more
Run Code Online (Sandbox Code Playgroud)

我的gradle配置如下:

buildscript {
    ext.kotlin_version = '1.2.20'
    ext.junit_platform_version = '1.0.1'
    ext.junit_version = '5.0.0'
    ext.moshi_version = '1.5.0'
    ext.jna_version = '4.5.0'

    repositories {
        mavenCentral()
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.junit.platform:junit-platform-gradle-plugin:$junit_platform_version"
    }
}

version '1.0-SNAPSHOT'

apply plugin: 'kotlin'
apply plugin: 'application'
apply plugin: 'org.junit.platform.gradle.plugin'

mainClassName = 'com.autentia.impt.MainKt'

repositories {
    mavenCentral()
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib"
    implementation "org.jetbrains.kotlin:kotlin-reflect"
    implementation "com.squareup.moshi:moshi:$moshi_version" …
Run Code Online (Sandbox Code Playgroud)

java jar gradle kotlin

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

使用Moxios模拟Axios调用以测试API调用

我有以下自定义Axios实例:

import axios from 'axios'

export const BASE_URL = 'http://jsonplaceholder.typicode.com'

export default axios.create({
  baseURL: BASE_URL
})
Run Code Online (Sandbox Code Playgroud)

配合相应的服务:

import http from './http'

export async function fetchUserPosts(id) {
  const reponse = await http.get(`/users/${id}/posts`)
  return reponse.data
}
Run Code Online (Sandbox Code Playgroud)

这是对上述服务的测试:

import moxios from 'moxios'
import sinon from 'sinon'
import http from '@/api/http'
import { fetchUserPosts } from '@/api/usersService'

describe('users service', () => {
  beforeEach(() => {
    moxios.install(http)
  })

  afterEach(() => {
    moxios.uninstall(http)
  })

  it('fetches the posts of a given user', (done) => {
    const id …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing axios moxios

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