小编a p*_*son的帖子

如何将 Set 与 react 的 useState 一起使用?

我有一个数组,我必须从中添加/删除元素,我想我会用它Set来完成这个,因为它的add hasdelete

const [tags, setTags] = React.useState(new Set())
Run Code Online (Sandbox Code Playgroud)

如果我想添加一些东西tags,我该怎么做setTags?或者我只是打电话tags.add()

javascript reactjs

17
推荐指数
3
解决办法
9633
查看次数

如何在GIS中选择MongoDB和PostgreSQL?

我正在尝试找到有关此主题的一些信息,但我发现的大多数文章都是3年以上.我对这方面也很新,不知道该问谁.

对于我的特定用例,我根本不是数据库专家,但我以前曾使用过几次MongoDB.我只使用PostgreSQL一次用于一个小项目(不涉及GIS内容).为了它的价值,我现在有少量数据存储到dynamoDB中.有一个地理库,但它只有Java,我不太了解Java.

我的用例相当简单 - 除了用户个人资料数据外,我希望能够查询用户添加的标记.标记用户当前latLng等X英里内的标记.标记除了latLng与其关联之外还有其他数据,例如添加它的用户,标题,描述等.

我的目标是能够使用Web API将结果返回到客户端,其中标记位于当前位置X英里内,距离最近到最远.为此,在Mongo和PostgreSQL之间,最好先做什么?

database gis postgresql postgis mongodb

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

webpack配置以同时使用css和scss文件

我想.css在我的app.jsx中导入一个文件,其中包含一些主题特定的代码,但是随后使用scss文件对组件进行样式设置。

我怎样才能做到这一点?这是我的webpack配置,仅适用于scss文件,我认为我可以放一个通配符,并且对两个都适用。

test: /\.(s?)css$/,
use: [
  {
    loader: 'style-loader',
    options: {
      hmr: true
    }
  },
  {
    loader: 'css-loader',
    options: {
      modules: true,
      importLoaders: 1,
      localIdentName: '[name]__[local]___[hash:base64:5]'
    }
  },
  {
    loader: 'sass-loader'
  },
  {
    loader: 'postcss-loader',
    options: {
      plugins: [autoprefixer({ browsers: ['last 3 versions'] })]
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

webpack

6
推荐指数
2
解决办法
2455
查看次数

React 和文本输入 - 使用 onBlur 还是 onChange?

我正在制作一个包含大约 6 个文本输入字段的表单。

要将值保存到我的状态,这样做更好onBlur还是onChange

以 onChange 为例,

onChangeTextInput = ({ name, value }) => {
    this.setState(state => ({
      ...state,
      form: {
        ...state.form,
        [name]: value
      }
    }));
  };
Run Code Online (Sandbox Code Playgroud)

每次按下某个键都会更新状态。当我使用反应工具“显示更新”时,我会看到大量更新,因为字段更新了多少次。

我应该使用 onBlur 来避免这种情况吗?或者有没有办法“批量”更新状态?

谢谢

javascript reactjs

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

Postgres - 如何在插入时自动调用 ST_SetSRID(ST_MakePoint(lng, lat), 4326)?

我正在使用postGIS,并且我对SQL不是很熟悉。

markers只要我执行这样的操作(伪代码!),我就可以成功插入到我的表中:

'INSERT INTO markers(created_by, title, description, lat, lng, geography)\
       values($1, $2, $3, $4::decimal, $5::decimal, ST_SetSRID(ST_MakePoint($5::decimal, $4::decimal), $6))',
      [
        data.created_by,
        data.title,
        data.description,
        data.lat,
        data.lng,
        4326
      ]'
Run Code Online (Sandbox Code Playgroud)

如您所见,我正在ST_SetSRID(ST_MakePoint($5::decimal, $4::decimal), $6)根据我的应用程序代码进行操作。

我想避免这种情况,而是将其放在数据库端。由于我可以在数据库端执行诸如自动时间戳之类的操作,因此我想知道是否也可以ST_SetSRID(ST_MakePoint(lng, lat), 4326)在表本身上执行此操作。

这样,应用程序只需要提供lat和lng,数据库就会进行操作ST_SetSRID(ST_MakePoint())

谢谢

编辑:我不确定谁的答案标记为+1,因为两者都提供了非常好的帮助和建议。我希望未来的读者能够阅读这两本书并希望能学到一些东西!

sql database postgresql postgis

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

如何使用faker生成积分?

我有一个具有以下属性的模型:

#  lonlat         :geography({:srid point, 4326
Run Code Online (Sandbox Code Playgroud)

使用Faker,我如何为此创造价值?

FactoryBot.define do
  factory :my_table do
    # ...
    lonlat { }
    # ...
  end
end

Run Code Online (Sandbox Code Playgroud)

ruby-on-rails faker

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

HTTP处理程序 - 何时应该使用return?

我对http处理程序和处理错误或重定向等问题有点困惑.

例如,如果由于某些条件检查我必须重定向,我应该执行以下操作:

func SomeHandler(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
    if thisThing != thatThing {
        log.Print("thisThing not equal to thatThing - redirecting")
        http.Redirect(w, r, "/", http.StatusTemporaryRedirect)
        return // <-- is this necessary?
    }
 }
Run Code Online (Sandbox Code Playgroud)

go

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

使用布尔值更新嵌套对象

我有一个加载对象,每个加载都有布尔值.我的州看起来像这样:

state: {
  loading: {
    itemA: false,
    itemB: false,
    itemC: false
  }
}
Run Code Online (Sandbox Code Playgroud)

我想更新我的状态,setLoading({ itemA: true })但只有更新项目A,同时保持itemB和itemC与当前状态相同.

return {
  ...state,
  loading: {
    ...state.loading,
    itemA,
    itemB,
    itemC
  }
};
Run Code Online (Sandbox Code Playgroud)

这是完整的减速器(浓缩):

setLoading: state => ({ itemA, itemB, itemC }) => {
    return {
      ...state,
      loading: {
        ...state.loading,
        itemA,
        itemB,
        itemC
      }
    };
  }
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果我setLoading({ itemC: true }),A和B现在未定义.

我如何确保它们不是未定义的,而是状态中的任何内容?

请注意 - 我已尝试传递任何内容并进行对象分配或传播加载.

但是,为了提高可读性,我想知道我是否可以对道具进行构造而不必定义每个加载(我在这个页面上有12个单独加载的东西 - 一个仪表板).

谢谢

javascript

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

外键连接表

我有两张桌子,groupsusers正在尝试做以下事情:

  1. 用户是否正在等待其成员资格(如果群组具有私人设置并且必须首先验证用户)

  2. 用户什么时候加入群组的

ETC。

因此,我想知道创建一个新表是否被认为是一个有效的选择,比如groups_users它有一个我完全忽略的主键,但它有外键user_idgroup_id,然后是is_adminis_pendingjoined_on等字段。

或者,是否有另一种方法可以做到这一点而不涉及制作这样的表格?

sql database database-design

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

如何检查数组对象是否为空

我有一个这样的对象:

{
  places: [],
  interests: [],
  checkIns: []
}
Run Code Online (Sandbox Code Playgroud)

我如何轻松检查这些数组是否为空?

javascript

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

对函数数组进行 AND 运算

鉴于:

const a = () => true
const b = () => false

const t = [a, b]
Run Code Online (Sandbox Code Playgroud)

我如何生成一个附加的 AND:

a() && b()

在这种情况下,它将返回false

javascript

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

我应该将我的 getter 函数放在我的功能组件内部还是外部?

如果我有一个使用useState钩子的 React 功能组件:

const [options, setOptions] = React.useState({
  a: true,
  b: 10,
  c: 'asdf'
})
Run Code Online (Sandbox Code Playgroud)

如果options结构更复杂,并且我想编写可以传递此对象并从中获取一些属性的函数,那么将这些函数编写在功能组件内部,还是将它们放在外面并将options对象传递给它们更好?如果我里面有一堆这些,这些函数会在每次渲染时重新创建,对吗?

// put this inside the functional component, or outside?
function getSomeComputedValue(options) {
  return Object.keys(options.someNestedObject).filter(o => o.status === 'cool')
}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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