小编Osc*_*nco的帖子

React-native,调试器冻结 macOS 上的应用程序

所以我有一个相当复杂并使用新颖技术的项目,一方面我使用react-native-macos来构建macos应用程序,我还使用rxdb和一些本机sqlite连接器来存储数据,在任何案例,我面临一个奇怪的问题,我不知道它是什么时候开始的,但是现在,当我尝试使用 chrome 调试器来调试应用程序时,应用程序冻结并且调试器不显示任何内容,除了一些不平衡的警告:

镀铬控制台

如果未附加调试器,应用程序运行不会出现问题,但创建不带调试器的应用程序并不是真正的选择。

现在,可能有很多事情出了问题:

  • 如您所见,我正在运行多个 RCTRootView 实例
  • 可能是react-native-macos问题,虽然我对此表示怀疑,但它工作正常,直到我的项目发生变化(在运行多个RCTRootView实例之前)
  • 可能与我正在使用的本机 SQLite 连接器有关?

任何有关如何调试问题的提示将不胜感激!

PD 我试图平分我的 git 历史记录来尝试找到问题,但它太复杂/耗时,因为过去几周发生了重大编译/数据库更改

编辑:xcode 上有更多输出,但 chrome 上未显示:

2020-07-11 10:16:36.315968+0200 kipu[23727:437914] [] nw_socket_handle_socket_event [C7:1] Socket SO_ERROR [61: Connection refused]
2020-07-11 10:16:36.316257+0200 kipu[23727:437919] [] nw_connection_get_connected_socket [C7] Client called nw_connection_get_connected_socket on unconnected nw_connection
2020-07-11 10:16:36.316343+0200 kipu[23727:437919] TCP Conn 0x600003718000 Failed : error 0:61 [61]
2020-07-11 10:16:36.343 [info][tid:main][RCTPerformanceLogger.m:79] Unbalanced calls start/end for tag 16
Run Code Online (Sandbox Code Playgroud)

编辑2:现在我尝试使用react-native-debugger应用程序来调试应用程序,该应用程序在过去已经解决了一些问题,而且在这种情况下它似乎也允许它运行......所以我想现在我的问题已经解决了,我想这与我的 chrome 安装有关。

macos google-chrome react-native

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

胜利图表,如何更改轴和标签颜色

这应该是一件非常简单的事情,但是对于我的生活我无法达到我想要的效果,我有一个图表,在深色背景上,这意味着我想将标签的颜色更改为白色,但是我无法做到这一点。

在此处输入图片说明

我正在使用的代码:

<VictoryChart
            width={WIDTH}
          // theme={VictoryTheme.material}
          >
            {/* <VictoryBar data={data} x="quarter" y="earnings" /> */}
            <VictoryArea data={outcome} x="quarter" y="earnings" style={{ data: { fill: '#0074B7', fillOpacity: 0.7, stroke: '#0C7BBB', strokeWidth: 1 } }} />
            {/* <VictoryArea data={income} x="quarter" y="earnings" style={{ data: { fill: '#9BC578', fillOpacity: 0.7, stroke: '#37B875', strokeWidth: 1 } }} /> */}
          </VictoryChart>
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

javascript victory-charts

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

AWS CDK Typescript,如何从 lambda 触发步骤函数?

我正在尝试从 lambda 触发阶跃函数,因此我有以下配置:


let DIST_FOLDER = path.join(__dirname, "dist");

export class ServerStack extends cdk.Stack {
  constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    // State Machine code

    let executorLambda = new lambda.Function(this, "executorFunction", {
      runtime: lambda.Runtime.NODEJS_12_X,
      handler: "main.handler",
      code: new lambda.AssetCode(path.join(DIST_FOLDER, "executor-lambda")),
      timeout: Duration.seconds(60)
    });

    let executorTask = new Task(this, "executorTask", {
      task: new InvokeFunction(executorLambda)
    });

    let chain = Chain.start(executorTask);

    let stateMachine = new StateMachine(this, "executorStateMachine", {
      definition: chain
    });

    // Back-end and api
    let backend = new lambda.Function(this, …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services typescript aws-lambda aws-cdk

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

macOS 上的 SwiftUI,如何在按钮上使用自定义图像符号?

仔细阅读问题,这是一个 MAC 应用程序,系统名称在 mac os 上不可用

我正在尝试在 macOS 上使用 swiftUI 构建一个简单的应用程序,但是我在显示某些图标时遇到了一些问题。

我现在到处都读到你需要下载 SF Symbols 应用程序并自己导出符号才能使用它们,所以我这样做了,然后我将导出的符号添加到了.xcassets,现在我正在尝试创建一个带有图像,所以这里是代码:

import SwiftUI

struct ActionBar: View {

    var body: some View {
        HStack {
            Spacer()
            Button(action: {

            }) {
                Image("Plus")
                    .font(Font.system(size: 24, weight: .light))
                    .foregroundColor(Color.red)
                Text("Test")
            }
        }
        .frame(maxWidth: .infinity)
        .padding()
        .background(Color.init(red: 0.8, green: 0.8, blue: 0.8))
    }
}

struct ActionBar_Previews: PreviewProvider {
    static var previews: some View {
        ActionBar()
    }
}

Run Code Online (Sandbox Code Playgroud)

我尝试了很多变体,例如:

Image(nsImage: NSImage(name: "Plus"))
Run Code Online (Sandbox Code Playgroud)

但是那里的所有信息,包括苹果自己的文档,都只谈论 UIImage,据我所知,它是 UIKit 的一部分,它是 UI 框架的 …

macos swift swiftui

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

SwiftUI,如何将 EnvironmnetObject Int 属性绑定到 TextField?

我有一个 ObservableObject 应该保存我的应用程序状态:

final class Store: ObservableObject {
  @Published var fetchInterval = 30
}
Run Code Online (Sandbox Code Playgroud)

现在,该对象被注入到我的层次结构的根部,然后在树下的某个组件中,我尝试访问它并将其绑定到 TextField,即:

struct ConfigurationView: View {
  @EnvironmnetObject var store: Store

  var body: some View {
    TextField("Fetch interval", $store.fetchInterval, formatter: NumberFormatter())
    Text("\(store.fetchInterval)"
  }
}
Run Code Online (Sandbox Code Playgroud)
  1. 即使变量已绑定(使用$),属性也不会被更新,初始值会正确显示,但是当我更改它时,文本字段会发生变化,但绑定不会传播
  2. 与第一个问题相关的是,一旦值更改,我将如何接收事件,我尝试了以下代码片段,但没有任何内容被触发(我假设因为文本字段未正确绑定......
$fetchInterval
           .debounce(for: 0.8, scheduler: RunLoop.main)
           .removeDuplicates()
           .sink { interval in
               print("sink from my code \(interval)")
           }
Run Code Online (Sandbox Code Playgroud)

任何帮助深表感谢。

编辑:我刚刚发现对于文本变量,绑定开箱即用,效果很好,例如:

// on store
@Published var testString = "ropo"

// on component
TextField("Ropo", text: $store.testString)
Text("\(store.testString)")
Run Code Online (Sandbox Code Playgroud)

仅在 int 字段上它没有正确更新变量

编辑2:好的,我刚刚发现仅更改字段是不够的,必须按下Enter才能传播更改,这不是我想要的,我希望每次更改字段时都会传播更改......

macos ios swift swiftui combine

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

如何将箭头函数重写为常规函数并绑定上下文?

我正在检查ES6中引入的箭头功能.如果我有一段带有"addNinja"功能的代码:

 addNinja=(ninja)=>{
         ninja.id=Math.random();
         let ninjas=[...this.state.ninjas,ninja];
         this.setState({
             ninjas:ninjas
         })
        console.log(this.state);

 }
Run Code Online (Sandbox Code Playgroud)

有没有办法可以在没有箭头功能的情况下编写?

如果我考虑到这两个是相同的......

x=>x*2 

function(x){
return x*2;
}
Run Code Online (Sandbox Code Playgroud)

我将假设我可以重写addNinja函数,如下面的代码,但我收到一个错误.

 addNinja=function(ninja){
         ninja.id=Math.random();
         let ninjas=[...this.state.ninjas,ninja]; 
         this.setState({
             ninjas:ninjas
         })
        console.log(this.state);

 }
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 arrow-functions

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

Swift 如何创建和测试具有 nil 属性的对象?

我正在尝试解决可选项,假设我有以下课程:

class Contact {

    var displayName:String

    init(displayName:String) {
        self.displayName = displayName
    }

}

class Contacts {
    func create(displayName:String) -> Contact {

        return Contact(displayName: displayName)
    }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,Contact 类有一个字段 displayName,但该值在初始化时可以为零。

所以要初始化这个类,我通常会这样做:

let contact = Contact(displayName: "Test Name")
Run Code Online (Sandbox Code Playgroud)

但相反,我也希望能够做到这一点:

let contact = Contact()
Run Code Online (Sandbox Code Playgroud)

或者

let contact = Contacts().create()
Run Code Online (Sandbox Code Playgroud)

ios swift swift2

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

React-native,构造函数和componentWillReceiveProps之间的区别

我正在开发一些反应原生的类,这就出现了:

class Foo extends Component {
  constructor(props) {
    super(props)
    this.state = {
      days: [{text: 'Sofort', id: 1, selected: true}, {text: 'Morgen', id: 2, selected: false}, {text: 'Montag', id: 3, selected: false}, {text: 'Samstag', id: 4, selected: false}, {text: 'Sonntag', id: 5, selected: false}]
    }
  }

  onDaySelection(selectedDay) {
    // some logic to change the selected day
  }

  render() {
    <Bar data={this.state.days} callback={this.onDaySelection(selectedDay)}>
  }
}
Run Code Online (Sandbox Code Playgroud)

酒吧班:

class Bar extends Component {
  constructor(props) {
    super(props)

    let dataSource = new ListView.DataSource(
      {rowHasChanged: (r1, r2) …
Run Code Online (Sandbox Code Playgroud)

reactjs react-native redux

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

Haskell,如何用 case-of 语句替换嵌套的 if?

我开始学习 Haskell,我正在解决一些简单的编程挑战。所以我现在的问题只是根据传递的值打印一些文本:

main = do
  n <- readLn :: IO Int
  if n `mod` 2 > 0
      then putStrLn "Weird"
      else if n > 1 && n < 6
          then putStrLn "Not Weird"
          else if n > 5 && n < 21
              then putStrLn "Weird"
              else putStrLn "Not Weird"
Run Code Online (Sandbox Code Playgroud)

但是我认为这相当丑陋,有没有办法用更优雅的模式匹配替换嵌套的 if 结构?

我试过了:

main :: IO()
main = do
    n <- readLn :: IO Int
    case n of
        n `mod` 2 /= 0 -> putStrLn "Weird"
        n >= 2 && …
Run Code Online (Sandbox Code Playgroud)

haskell

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