小编cal*_*hiz的帖子

React styled-components - 类型“StyledComponent<“label”,any,{},never>”不可分配给类型“never”

我正在尝试将样式组件与打字稿和 BEM 结构一起使用

所以我有一个简单的例子

索引.tsx

import styled from 'styled-components'
import Header from './Header'

interface ICard {
    Header:
}

const Card = styled.div`
    border: 1px solid gray;
    padding: 10px;
`

Card.Header = Header

export default Card
Run Code Online (Sandbox Code Playgroud)

标头.tsx

import styled from 'styled-components'

const Header = styled.h1`
    color: #313c53;
    font-size: 1.2em;
    line-height: 1.5;
`
export default Header
Run Code Online (Sandbox Code Playgroud)

并在标记中

<Card>
    <Card.Header>
        Header
    </Card.Header>
</Card>
Run Code Online (Sandbox Code Playgroud)

我的问题出在 index.tsx 中,我在这里收到错误Card.Header = Header

Type 'StyledComponent<"label", any, {}, never>' is not assignable to type 'never'.ts(2322)
Run Code Online (Sandbox Code Playgroud)

我知道这是与打字稿相关的,我一直在尝试修复界面,但无法让它工作。

我该如何修复这个打字稿错误?

typescript reactjs styled-components

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

在调整浏览器窗口大小之前,Angular 中的 Chart.js 图表不会加载

我目前正在开发一个业余爱好项目,我从 MongoDB 数据库加载一些数据,从 Node.js 后端获取数据到我的前端,在那里我操作我的数据,最后我想在我的 Angular 前端显示数据在 Chart.js 图表中。

存在问题:我得到的数据没有任何问题,如果我用一些模拟数据加载图表,一切都会完美运行,但是当我尝试在图表中加载真实数据时,它不会显示,直到我调整窗口大小或例如按 f12 检查我的网站。

提前致谢!

这里截取了一个简化的代码:

allTitles = [];
allSets = [];
allColors = [];

// OnInit:

this.chart = new Chart('myChart', {
  type: 'doughnut',
  options: {
    responsive: true,
  },
  data: {
    labels: this.allTitles,
    datasets: [
      {
        label: 'My First dataset',
        data: this.allSets,
        backgroundColor: this.allColors,
        borderColor: '#000000'
      }
    ]
  }
});

// A Function to get the Data from my Service:

this.parseService.getPlans().subscribe((plans: any) => {
    plans.forEach(plan => {
      this.parseService.getExercisesByPlan(plan._id).subscribe((exercises: any) => {
        this.neighbourSetsCounter …
Run Code Online (Sandbox Code Playgroud)

javascript typescript chart.js angular

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

无法使用 imagick 保存 webp 格式

我正在开发一个面板,在其中上传 jpg,它复制它,调整它的大小,保存另一个 jpg,现在我还希望能够创建一个副本,但使用 webp 扩展。

我检查了所有地方,但找不到有同样问题的人。我在 CentOS cPanel 上运行 cPanel > 版本:ImageMagick 6.9.10-68 Q16 x86_64 2020-04-01

$imagick = new \Imagick($targetJpg); 
$imagick->writeImage('webp:'.$targetWebp);
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

致命错误:未捕获的 ImagickException:委托失败 `'cwebp' -quiet %Q '%i' -o '%o'' @ error/delegate.c/InvokeDelegate/1928 in /...dirs.../pic-upload .php:108 堆栈跟踪: #0 /...dirs.../pic-upload.php(108): Imagick->writeimage('webp:../images/...') #1

=================================================== =======

在我的本地计算机 OSX 中,使用 Mamp,在 @MarkSetcell 的帮助下解决了这个问题。

在 OSX 上 > 终端类型:cwebp -version webp 1.1.0

类型:类型 cwebp cwebp 已散列 (/usr/local/bin/cwebp)

标记解决方案> 有效!:) 在 macOS 上,您的 cwebp 似乎是 /usr/local/bin 中的自制程序,因此我建议您找到名为 delegates.xml 的 Imagick 配置文件并对其进行编辑,使其显示“cwebp”-quiet -q %Q '%I'...它变成 '/usr/local/bin/cwebp' …

php jpeg imagick webp

5
推荐指数
0
解决办法
3562
查看次数

Safari MacOS 异物在 svg 内无法正确缩放

更新日期

由于 Apple 是一家价值 2 万亿美元的公司,让我们尝试通过在此处提交错误报告来让他们解决此问题: https: //www.apple.com/feedback/safari.html

https://discussions.apple.com/thread/251753724?answerId=253364840022&page=1


在 Chrome 和 Firefox 中没有问题,但在 safari 中出现问题:在此输入图像描述

它应该看起来像 Chrome 中的:

如果我将固定样式=“位置:固定”添加到外部div,那么它们的位置是正确的,但它们的大小仍然是safari中较小的那个。

我尝试将 Body 添加到对象的根目录中,但这只是让它们从 Safari 中完全消失。这篇文章也提到了这一点:

Safari 不考虑应用于foreignObject 的缩放

您可以非常清楚地听到 safari(新 ie)不尊重缩放

在此输入图像描述

safari svg foreignobject

5
推荐指数
0
解决办法
2628
查看次数

发出 Paging3 流量后无法收集任何流量

我正在使用paging3并且有两个不同的分页源。问题是Coroutine Scope只发出第一个分页流

ViewModel我有两个分页流程

val pagingFlow1 = Pager(PagingConfig(pageSize = 50, prefetchDistance = 1)) {
    pagingSource
}.flow.cachedIn(viewModelScope)

val pagingFlow2 = Pager(PagingConfig(pageSize = 50, prefetchDistance = 1)) {
    pagingSource2
}.flow.cachedIn(viewModelScope)
Run Code Online (Sandbox Code Playgroud)

在活动中收集它们

    lifecycleScope.launch(Dispatchers.IO) {
        viewModel.pagingFlow1.collectLatest { pagingData ->
            pagingAdapter.submitData(pagingData)
        }
        viewModel.pagingFlow2.collectLatest { pagingData ->
            pagingAdapter2.submitData(pagingData)
        }
    }
Run Code Online (Sandbox Code Playgroud)

lifecycleScope只能发出,pagingFlow1换句话说,分页只能在第一个 recyclerView 中起作用。

当我更改订单时,这次仅适用于pagingFlow2

    lifecycleScope.launch(Dispatchers.IO) {
        viewModel.pagingFlow2.collectLatest { pagingData ->
            pagingAdapter.submitData(pagingData)
        }
        viewModel.pagingFlow1.collectLatest { pagingData ->
            pagingAdapter2.submitData(pagingData)
        }
    }
Run Code Online (Sandbox Code Playgroud)

为了确保我用基本流程对其进行了测试并正常工作

// Flows in ViewModel
val testFlow1 …
Run Code Online (Sandbox Code Playgroud)

android android-paging android-paging-library

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

Json 文件未附加到 android 的电子邮件

我正在尝试将附加的 json 文件发送到电子邮件,但是由于某种原因,在发送/创建电子邮件时未附加 json 文件。注意:我不希望用户选择要附加的文件,我希望它自动固定/设置。

我有以下权限 AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)

和代码

   private void backupJsonToEmail(String jsonString) {
    // create file

    if(!getFilesDir().exists()){
        getFilesDir().mkdir();
    }
    String filePath = getFilesDir() + File.separator + BACKUP_NAME;
    System.out.println("file path: " + filePath);
    // /data/user/0/com.my.stuff/files/backup.json

    try {
        FileOutputStream fos = new FileOutputStream(filePath);
        DataOutputStream outStream = new DataOutputStream(new BufferedOutputStream(fos));
        outStream.writeBytes(jsonString);
        outStream.close();

        // send to email
        try {
            File file = new File(filePath);
            long fileKbSize = file.length() / 1024;
            System.out.println("FILE SIZE …
Run Code Online (Sandbox Code Playgroud)

java android email-attachments

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

JUnit 测试在 GitHub Actions 上失败,但在本地失败

我正在尝试在 GitHub Actions 上运行 JUnit 测试,但其中一些失败。本地所有测试均已通过。在我的 PC 上,我使用 Ubuntu 20.04 和 OpenJDK 1.8 (275),在 CI 上使用 OpenJDK 1.8(来自标准操作)。

java -version电脑输出:

openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~20.04-b01)
OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)

java-versionGitHub 操作的输出:

openjdk version "1.8.0_275"
OpenJDK Runtime Environment (Zulu 8.50.0.53-CA-linux64) (build 1.8.0_275-b01)
OpenJDK 64-Bit Server VM (Zulu 8.50.0.53-CA-linux64) (build 25.275-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)

测试断言:

@Test
public void test() {
    assertEquals(
        17,
        new CountingSheep(
            new Boolean[]{
                true, true, true, false,
                true, true, true, true, …
Run Code Online (Sandbox Code Playgroud)

java junit jvm github-actions

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

如何在 WooCommerce 中使用现有的产品属性而不使用 WC_Product_Attribute 类创建新属性?

我正在尝试创建一个以编程方式创建可变产品的 Wordpress 插件,但问题是,我想使用之前从管理仪表板手动定义的属性。我需要将属性分配给我正在创建的产品。

这是我正在使用的代码(不是我的,我从这个答案中得到它:以编程方式创建可变产品和 WooCommerce 中的两个新属性

function addProduct(){
    //Create main product
    $product = new WC_Product_Variable();

    //Create the attribute object
    $attribute = new WC_Product_Attribute();

    //pa_size tax id
    $attribute->set_id( 0 ); // -> SET to 0

    //pa_size slug
    $attribute->set_name( 'Couleur' ); // -> removed 'pa_' prefix

    //Set terms slugs
    $attribute->set_options( array(
        'Noir'
    ) );

    $attribute->set_position( 0 );

    //If enabled
    $attribute->set_visible( 1 );

    //If we are going to use attribute in order to generate variations
    $attribute->set_variation( 1 );

    $product->set_attributes(array($attribute)); …
Run Code Online (Sandbox Code Playgroud)

wordpress woocommerce

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

链接流(在另一个流的collect{}块中收集一个流)

我刚开始使用Flows. 我遇到的情况是,我需要在调用之前等待userLoginStatusChangedFlow收集readProfileFromFirestore()(这也会收集Flow)。第一个检查用户是否已登录 Firebase Auth,而第二个则从 Firestore 下载用户的个人资料信息。我的代码可以工作,但我不确定我是否按照预期的方式进行操作。

Flows问:这样“连锁”是标准做法吗?你会采取不同的做法吗?

    init {
        viewModelScope.launch {
            repository.userLoginStatusChangedFlow.collect { userLoggedIn: Boolean? ->
                if (userLoggedIn == true) {
                    launch {
                        readProfileFromFirestore()
                    }
                } else {
                    navigateToLoginFragment()
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

readProfileFromFirestore()上面调用的方法:

    // Download profile from Firestore and update the repository's cached profile.
    private suspend fun readProfileFromFirestore() {
        repository.readProfileFromFirestoreFlow().collect { state ->
            when (state) {
                is State.Success -> {
                    val profile: Models.Profile? = state.data
                    if (profile != null …
Run Code Online (Sandbox Code Playgroud)

android coroutine kotlin kotlin-flow

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

解码从 SentenceTransformer 派生的句子表示

是否可以将从 SentenceTransformer 派生的句子表示解码回句子?

请参阅文档中的示例

from sentence_transformers import SentenceTransformer
model = SentenceTransformer('paraphrase-MiniLM-L6-v2')

#Our sentences we like to encode
sentences = ['This framework generates embeddings for each input sentence',
    'Sentences are passed as a list of string.',
    'The quick brown fox jumps over the lazy dog.']

#Sentences are encoded by calling model.encode()
embeddings = model.encode(sentences)
Run Code Online (Sandbox Code Playgroud)

我想解码表示以获得句子

embedding = [[-1.76214352e-01  1.20600984e-01 -2.93624014e-01 -2.29858071e-01
  -8.22928399e-02  2.37709314e-01  ... 3.39985073e-0]]
sentence = model.decode(embedding)
print(sentence)
Run Code Online (Sandbox Code Playgroud)
'This framework generates embeddings for each input sentence'
Run Code Online (Sandbox Code Playgroud)

python text bert-language-model sentence-transformers

5
推荐指数
0
解决办法
1884
查看次数