小编DaG*_*ner的帖子

如何使用颤振制作小部件的一侧圆形边框?

我正在尝试使用颤振中的容器小部件构建一侧圆形边框。我已经搜索过它,但找不到任何解决方案。

Container(
  width: 150.0,
  padding: const EdgeInsets.all(20.0),
  decoration: BoxDecoration(
    // borderRadius: BorderRadius.circular(30.0),
    /* border: Border(
      left: BorderSide()
    ),*/
  color: Colors.white
  ),
  child: Text("hello"),
),
Run Code Online (Sandbox Code Playgroud)

border dart flutter

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

具有React useEffect的componentWillUnmount

如何能在useEffect钩(或任何其他挂钩的这个问题)可以被用来复制componentWillUnmount

在传统的类组件中,我将执行以下操作:

class Effect extends React.PureComponent {
    componentDidMount() { console.log("MOUNT", this.props); }
    componentWillUnmount() { console.log("UNMOUNT", this.props); }
    render() { return null; }
}
Run Code Online (Sandbox Code Playgroud)

随着useEffect钩:

function Effect(props) {
  React.useEffect(() => {
    console.log("MOUNT", props);

    return () => console.log("UNMOUNT", props)
  }, []);

  return null;
}
Run Code Online (Sandbox Code Playgroud)

(完整示例:https : //codesandbox.io/s/2oo7zqzx1n

这是行不通的,因为返回的“清理”功能会useEffect捕获安装过程中的道具,而不会在卸载过程中捕获道具的状态。

我怎么能获得最新版本的道具的useEffect清理,而不在每一个道具的变化运行的函数体(或清理)?

一个类似的问题没有解决获得最新道具的问题。

反应文档状态:

如果要运行效果并仅将其清除一次(在挂载和卸载时),则可以传递一个空数组([])作为第二个参数。这告诉React您的效果不依赖于props或state的任何值,因此它不需要重新运行。

但是在这种情况下,我依赖道具...但仅用于清理部分...

javascript reactjs react-lifecycle react-hooks

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

initState 中的 Flutter 提供程序

我目前正在尝试将 Provider 作为状态管理解决方案,我知道它不能在 initState 函数中使用。

我见过的所有示例都ChangeNotifier根据用户操作(例如,用户单击按钮)调用派生类中的方法,但是如果我需要在初始化状态时调用方法怎么办?

动机:创建一个加载资产(异步)并显示进度的屏幕

ChangeNotifier该类的示例(不能add从调用initState):

import 'package:flutter/foundation.dart';

class ProgressData extends ChangeNotifier {
  double _progress = 0;

  double get progress => _progress;

  void add(double dProgress) {
    _progress += dProgress;
    notifyListeners();
  }
}
Run Code Online (Sandbox Code Playgroud)

provider flutter

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

Laravel - 在手动登录前检查密码

我在使用手动登录用户时遇到问题Auth::loginUsingId .在我这样做之前,我需要检查密码是否匹配,是否存在问题.密码比较总是返回false;

这就是我将密码保存到DB的方式:

    $user = User::create([
        'password' => Hash::make(Input::get('password')),
    ]);
Run Code Online (Sandbox Code Playgroud)

这就是我尝试比较这两个密码的方法

$u = User::where('username', $username)->first();    
$password = Hash::make(Input::get('password'));
var_dump($u->password == $password);
Run Code Online (Sandbox Code Playgroud)

这是假的,我不知道问题出在哪里.

编辑: 在DB字段中,varchar是70个字符长,哈希是60个字符长

好的,我注意到:每次Hash :: make都会从我的密码中提供另一个字符串.怎么可能呢?我的意思是如何Auth::attempt运作?

php laravel laravel-4

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

使用Typescript 3.5+在React中覆盖儿童道具

我有一种情况,我想显式地将React.FC的子组件的作用域限定为特定类型,并覆盖默认的React.ReactNode

目的是要创建一个小的库,并且要产生编译时错误,该错误将告诉用户他只能将特定的组件类型用作父级的子级。

一个好的例子是:

<MainComponent>
    <ChildComponent>
</MainComponent>
Run Code Online (Sandbox Code Playgroud)

一个失败的例子是:

<MainComponent>
    <Route ...>
    <ChildComponent>
</MainComponent>
Run Code Online (Sandbox Code Playgroud)
  • 这应该失败,因为Route组件不是,ChildComponent并且检查失败。

中的默认子级属性React.FC派生自:

interface FunctionComponent<P = {}> {
    (props: PropsWithChildren<P>, context?: any): ReactElement | null;
    propTypes?: WeakValidationMap<P>;
    contextTypes?: ValidationMap<any>;
    defaultProps?: Partial<P>;
    displayName?: string;
}

type PropsWithChildren<P> = P & { children?: ReactNode };
Run Code Online (Sandbox Code Playgroud)

我尝试过的是这样的:

Omit<React.FC, 'children'> & {
  children: ChildComponent | ChildComponent[];
}
Run Code Online (Sandbox Code Playgroud)

但是我只能得到React.ReactNode我的孩子和我的工会React.ReactNode

我似乎无法弄清楚如何覆盖此道具,以便仅将我的类型明确用于此道具。

我正在使用Typescript 3.5.3和Omit/ Extend...,现在已成为标准TS库的一部分。

typescript reactjs

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

应用程序未使用原因非公开API上传到iOS App Connect存储区

我正在尝试将应用程序上传到Apple商店。但是由于非公开API导致应用被拒绝,拒绝的原因如下:

尊敬的开发人员,我们发现您的应用“ AppName”最近交付时出现了一个或多个问题。>请更正以下问题,然后重新上传。

ITMS-90338:非公共API用法-该应用在Frameworks / Flutter.framework / Flutter中引用了非公共符号:_ptrace。如果您的源代码中的方法名称与上面列出的专用Apple API相匹配,则更改您的方法名称将有助于防止该应用在以后的提交中被标记。另外,请注意,上述API中的一个或多个可能位于应用程序随附的静态库中。如果是这样,则必须将其删除。有关更多信息,请访问位于http://developer.apple.com/support/technical/的技术支持信息。

我尝试了很多次,但是得到了相同的错误消息。如果有人解决了这个问题,请帮忙。

xcode ios dart flutter

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

是否有任何机制可以在代码库中使用多个 GOOGLE_APPLICATION_CREDENTIALS?

我们在一个谷歌服务帐户中有多个项目,每个项目都有单独的GOOGLE_APPLICATION_CREDENTIALSjson 文件。根据基于语言环境的要求,projectID我们必须使用相关的凭证 json 文件。

尝试通过环境变量加载,但只能接受一个文件路径,

设置环境变量

GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/[FILE_NAME].json"
Run Code Online (Sandbox Code Playgroud)

如果请求来自该服务帐户中的任何项目,则期望身份验证成功。

dialogflow-es

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

Vue 和 Typescript 3.5.3 抱怨“CompulatedOptions&lt;any&gt;”

我有一个用 Typescript 编写的可用 Vue 应用程序。昨天我将 Typescript 从 3.1.5 更新到 3.5.3,应用程序不再编译,产生大约 200 个错误。我尝试在一个小示例应用程序中重新创建这些问题,但我在那里尝试的所有内容都有效。

每个文件中的第一个错误总是与此类似:

Property ... does not exist on type ComputedOptions<any> | (()=>any)

例如,以下计算机属性:

   props: {
       params: EditorParams,
   },

   computed: {
      zoom(): number {
          return this.params.zoom;
      },
   }
Run Code Online (Sandbox Code Playgroud)

产生错误Property 'params' does not exist on type ComputedOptions<any> | (()=>any)

此错误会导致一系列其他错误。就好像 Typescript 找不到许多属性、数据元素和计算属性的正确类型信息一样。所有类型都已正确定义(使用 Typescript 3.1.5 一切正常)。

我真的迷失在这里了。该应用程序相当大。这些错误出现在数十个文件中的 9 个中。所有这些文件都是 vue 组件,但还有更多组件可以很好地工作。

typescript vue.js

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

如何使用 TypeScript 编译器 API 中的 --incremental ?

TypeScript 最近添加了“--incremental”编译器选项。

如何将它与 TS 编译器 API 一起使用?

该程序不会生成 .tsbuildinfo 文件,第二次运行也不会更快:

import * as ts from "typescript";

const program = ts.createProgram(["./src/foo.ts"], {
    incremental: true,
    tsBuildInfoFile: "./tsbuildinfo"
});
const emit = program.emit();
console.log('emitted', JSON.stringify(emit)); // { emitSkipped: false, diagnostics: []}
Run Code Online (Sandbox Code Playgroud)

我认为 TS 实际上并没有关注 tsBuildInfo 文件的路径,因为如果我将选项设置tsBuildInfoFile为像“@@@@@@”这样的废话,那没有什么区别。

typescript typescript-compiler-api

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

dartlang 中的 double.toStringAsFixed 和 toStringAsPrecision 有什么区别?

我想知道这两种方法有什么区别。我认为toStringAsFixed修剪了数字,但从文档中的示例来看,两者都对数字进行了四舍五入。

这是相关问题:https : //github.com/dart-lang/sdk/issues/25947

dart

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

仅获取从映射到数组的值

我想获取地图的值并存储在打字稿中的字符串数组中。

myMap= [0:'Mohit',1:'Balesh',2:'Jatin'];
arr[];
Run Code Online (Sandbox Code Playgroud)

预期结果 arr['Mohit','Balesh','Jatin']

collections typescript

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

在opencart中为不同的组用户创建注册页面

我想在opencart中创建一个注册页面.我刚从控制器/帐户和视图/帐户文件中复制了注册文件,并重命名这两个文件并更改了一些代码,并将其上传到现在正常工作,正常工作.我也改变了表单动作.

现在我想要这个页面用户应该注册为整个销售(我在opencart中创建的客户组,其中id为2我已在数据库中签入)

任何帮助请!

谢谢

php opencart

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

node.js中的Date对象有一些奇怪的行为

我正在使用NODE测试一段时间,我遇到了JS Date()对象的奇怪行为.该getDay()getMonth()功能正在返回不正确的结果.我以为我在我的应用程序中的某个地方搞砸了,但我在控制台中也进行了测试,但仍然是相同的行为.这是我的控制台日志:

$ node
> var currentDate = new Date();
undefined
> currentDate
Wed Jun 19 2013 13:54:20 GMT+0200 (CEST)
> currentDate.getDay()
3
> currentDate.getMonth()
5
Run Code Online (Sandbox Code Playgroud)

它似乎有点"关闭".

我现在不知道发生了什么,网络研究也没有帮助我.

javascript datetime node.js

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