小编joh*_*ohn的帖子

在Sangria中编组嵌套的自定义对象

我有以下输入对象:

val BusinessInputType = InputObjectType[BusinessInput]("BusinessInput", List(
    InputField("userId", StringType),
    InputField("name", StringType),
    InputField("address", OptionInputType(StringType)),
    InputField("phonenumber", OptionInputType(StringType)),
    InputField("email", OptionInputType(StringType)),
    InputField("hours", ListInputType(BusinessHoursInputType))

  ))


 val BusinessHoursInputType = InputObjectType[BusinessHoursInput]("hours",  List(
    InputField("weekDay", IntType),
    InputField("startTime", StringType),
    InputField("endTime", StringType)
  ))
Run Code Online (Sandbox Code Playgroud)

以下是定制编组定义的模型:

case class BusinessInput(userId: String, name: String, address: Option[String], phonenumber: Option[String], email: Option[String], hours: Seq[BusinessHoursInput])

object BusinessInput {

  implicit val manual = new FromInput[BusinessInput] {
    val marshaller = CoercedScalaResultMarshaller.default

    def fromResult(node: marshaller.Node) = {
      val ad = node.asInstanceOf[Map[String, Any]]

      System.out.println(ad)
      BusinessInput(
        userId = ad("userId").asInstanceOf[String],
        name = ad("name").asInstanceOf[String],
        address = …
Run Code Online (Sandbox Code Playgroud)

scala playframework sangria

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

反应原生地图:显示Callout之前的中心标记onPress

当用户按下标记时,我调用animateToCoordinate将标记置于屏幕中间.问题是,在animateToCoordinate完成动画之前,标注会被渲染到区域的位置,因此标注会在屏幕外显示.无论如何都要延迟标注显示,直到animateToRegion完成?还是有另一种方式可以完全解决这个问题,我没有看到?

 <MapView
    ref = {(mapView) => { _mapView = mapView; }}
    style={styles.map} 
    region={this.state.mapRegion}
    showsUserLocation = {true}
    showsMyLocationButton   = {true}
    followUserLocation={true}
    onRegionChange={this.onRegionChange.bind(this)}>


 {data.near.map(marker => 
   {if(marker.posts.length != 0){
     return (
      <MapView.Marker
      coordinate={{latitude: marker.location.latitude,
            longitude: marker.location.longitude}}
      title={marker.name}
      description={marker.description}
      onPress={ e => _mapView.animateToCoordinate({
        latitude: e.nativeEvent.coordinate.latitude,
        longitude:  e.nativeEvent.coordinate.longitude
      }, 500)}
      onCalloutPress={ e => this._onPressItem(marker.id)}
    >
    <Icon name="ios-pin" style={{ fontSize: 45, color: '#f04c34'}} />

    <MapView.Callout 
            style={{ flex: -1, position: 'absolute', width: width}}>
    <ListItem >

    <Body >
        <View style={{flex: 1,
        flexDirection: 'row',
        justifyContent: 'space-between',}}>
    <Text style={{fontSize: 18, …
Run Code Online (Sandbox Code Playgroud)

javascript react-native react-native-maps

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

如何从 Apollo set Context Http Link 访问 React 上下文

我正在尝试访问我的 Apollo 客户端的 setContext 函数中的反应上下文值。我希望能够使用反应上下文值动态更新每个 graphql 请求的标头。但是我遇到了一个错误,日志中没有可见的错误消息。我正在尝试做的可能吗?

import React, { useState, useContext } from "react";
import { render } from "react-dom";

import ApolloClient from "apollo-client";
import { ApolloProvider } from "react-apollo";
import { createHttpLink } from "apollo-link-http";
import { setContext } from "apollo-link-context";
import { InMemoryCache } from "apollo-cache-inmemory";

import Select from "./Select";
import CurrencyContext from "./CurrencyContext";
import ExchangeRates from "./ExchangeRates";

const httpLink = createHttpLink({
  uri: "https://48p1r2roz4.sse.codesandbox.io"
});

const authLink = setContext((_, { headers }) => {

  const token = …
Run Code Online (Sandbox Code Playgroud)

reactjs react-apollo apollo-client react-context react-hooks

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

在数据库中实现帖子、评论和喜欢

我试图在 Twitter 和 Instagram 等社交媒体平台之后在 Postgresql 中建模一个数据库。

我有以下要求:

  1. 用户可以创建一个帖子
  2. 用户可以喜欢帖子
  3. 用户可以对帖子发表评论
  4. 一个用户可以评论另一个用户的评论(回复评论)
  5. 用户可以喜欢评论

现在我意识到如果用户不断以评论的形式回复其他用户,我们可以拥有深度嵌套的评论。我想出了一些自引用表,它们都继承自一个公共实体表。到目前为止,这是我的实现:

在此处输入图片说明

^^ 我知道可以“喜欢”另一个人“喜欢”或评论“喜欢”,这不是必需的。为了防止这种情况,我想我可以在应用程序代码级别强制执行这些约束。保留选项总是更好,以防我们将来可能想要实施它们,对吗?

我的问题是,这是一个好的数据库实现吗?是否有我没有看到的用例和陷阱?设计是否适合用例?

sql postgresql database-design entity-relationship relational-database

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

antd:如何在Dragger Upload右侧显示fileuploadlist

我试图将文件上传列表显示在上传拖动器元素的右侧,因为屏幕上的空间在垂直方向上是有限的。作为参考,这是我正在尝试做的事情的图像示例:

示例图片

但是,无论我做什么,生成的文件上传列表始终显示在拖动器下方。即使我指定“display: inline-block”作为样式。由于antd框架的原因,上传列表似乎是动态生成的,我无法修改其位置。如果可以使用 antd 生成的上传列表,任何人都可以了解任何见解吗?

import React from 'react';
import { Upload, Icon, message, Typography, Button } from 'antd';

const { Dragger } = Upload;

export interface projectFilesUploadFormProps {
    handleUpdateAndNext(updateProjectDetails: () => void): void;
    handleBack(): void;

}


const draggerProps = {
    name: 'file',
    multiple: true,
    action: 'https://www.mocky.io/v2/5cc8019d300000980a055e76',
    onChange(info: { file: { status?: any; name?: any; }; fileList: any; }) {
      const { status } = info.file;
      if (status !== 'uploading') {
        console.log(info.file, info.fileList);
      }
      if (status === 'done') {
        message.success(`${info.file.name} …
Run Code Online (Sandbox Code Playgroud)

typescript antd

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

与传统意义上的OOP无关的类的继承

我想知道我是否正在以OOP的方式接近我的项目.我的项目由c#中的windows控制台应用程序组成.应用程序的要点是获取用户输入,将其转换为SQL查询并查询连接数据库,然后以用户请求的读者友好格式吐出信息.我现在有以下3个班:

类:commandLineInterpreter扩展sqlQueries

此类打印出用户可以使用的命令.它还需要用户输入.

类:sqlQueries扩展dbConnect

此类包含将根据用户输入内容查询数据库的SQL查询.

类:dbConnect 此类初始化数据库连接并打印出一条消息,说明它是否已成功.

正如你所看到的,我有commandlineInterpreter类,它扩展了sql查询类,然后扩展了db connect类.

当我在main()函数中初始化命令行类时,它也会自动对其他扩展类进行intitlize.我这样做是因为没有连接到DB,那么commandLine解释器是无用的,因为它无法提供任何答案.

我的问题是,即使这些类在OOP的继承意义上没有关系,以这种方式进行类继承仍然有意义吗?或者有更好的方法来组织我的代码?

c# oop inheritance extend windows-console

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

Apollo graphql:变异后的writeQuery不会触发flatlist的重新渲染

我在平面列表中有以下按钮触发graphql变异,在变异后我执行writeQuery来更新本地缓存(存储).在更新函数f中,我正在更新缓存中的两个字段.基本上当用户触摸类似按钮时,我将类似的布尔值变为true,并将该帖子的类似计数更新为+1(类似于twitter).但是,平面列表中的组件不会更新.我甚至打印出了apollo商店/缓存,我看到值得到了更新.为什么在缓存写入后平面列表不能重新渲染?

   render() {


 const { posts, isFetching, lastUpdated, location, navigation, data, likeMutation, username, distancePointLatitude, distancePointLongitude, searchPointLatitude, searchPointLongitude } = this.props


 <FlatList
  data={data.near}
  style={styles.scrollViewContent}
  extraData={this.props.store}
  //renderSeparator={(sectionId, rowId) => <View key={rowId} style={styles.separator} />}
  showsVerticalScrollIndicator={false}
  onRefresh={this._onRefresh.bind(this)}
  refreshing={this.state.refreshing}
  keyExtractor={this._keyExtractor}
  renderItem={({item, index}) => item.posts.length != 0 && <ListItem>

{item.posts[0].userInteraction.userLike ? <Icon name='md-heart' style={{ color: 'crimson',fontSize: 28}} /> 
          : <Icon name='heart' style={{ fontSize: 26}} 

          onPress={() => likeMutation({ variables: { elementId: item.posts[0].postId, userId: username  },

            update: (store, { data: { addLike } }) => {
              // Read …
Run Code Online (Sandbox Code Playgroud)

apollo graphql react-native apollo-client

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

ant design:修改Input组件的border-radius

我有以下蚂蚁设计搜索输入组件:

 <Search
  size="large"
  placeholder="Search..."
  className="dashboardSearch"
  />
Run Code Online (Sandbox Code Playgroud)

我正在尝试修改边框半径以使其具有圆形形状,但是我在 css 文件中尝试的所有内容都不起作用。

css文件:

.dashboardSearch {
    width: 300px;
    border-radius: 25px;

}

.ant-input-search {
    width: 300px;
    border-radius: 25px;
}
Run Code Online (Sandbox Code Playgroud)

无论如何要修改搜索输入组件的边框半径?通常当我直接修改 ant 设计类名称时,它会起作用。但在这种情况下它没有。还有另一种我失踪的方式吗?

reactjs react-css-modules antd

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

在响应问题中加载Lottie-Web动画

我试图在我的react项目中加载很多网络动画,但我一直收到此错误并且无法理解它的含义

InvalidStateError:responseText仅在responseType为''或'document'时可用。

这是我下面的React组件:

import React, { Component } from "react";
import "./Submit.css";
import PropTypes from "prop-types";
import lottie from "lottie-web";

class Submit extends Component {
  constructor(props) {
    super(props);
  }

  componentDidMount() {
    lottie.loadAnimation({
      container: document.getElementById("animation"), // the dom element that will contain the animation
      renderer: "svg",
      loop: true,
      autoplay: true,
      path: "../anim/email.json" // the path to the animation json
    });
  }

  render() {
    return <div id="animation" />;
  }
}

Submit.propTypes = {};

export default Submit;
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

javascript reactjs lottie

3
推荐指数
2
解决办法
1690
查看次数

bash:对于txt文件中的每一行,都要匹配一个正则表达式并将其保存到变量数组中

我试图读取文本文件的每一行,并提取.tst之前的名称,并将每个匹配项存储到变量数组中。这是txt文件的示例:

    someTest.tst (/blah/blah/blah),
    someOtherfile.tst (/some/other/blah),
    hello.tst (/not/the/same/blah),
    hi.tst (/is/this/blah),
Run Code Online (Sandbox Code Playgroud)

字符前的每一行上都有一堆空格。

我想提取以下值并将它们存储在变量数组中:

someTest
someOtherfile
hello
hi
Run Code Online (Sandbox Code Playgroud)

我曾尝试使用sed和awk,但是我对这两者的了解都不是专家级的身份,因此我无法实现自己想要的。有见识吗?

regex bash scripting awk sed

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