小编che*_*ry7的帖子

将反应组件作为道具传递

让我们说:

import Statement from './Statement';
import SchoolDetails from './SchoolDetails';
import AuthorizedStaff from './AuthorizedStaff';

const MultiTab = () => (
  <Tabs initialIndex={1} justify="start" className="tablisty">
    <Tab title="First Title" className="home">
      <Statement />
    </Tab>
    <Tab title="Second Title" className="check">
      <SchoolDetails />
    </Tab>
    <Tab title="Third Title" className="staff">
      <AuthorizedStaff />
    </Tab>
  </Tabs>
);
Run Code Online (Sandbox Code Playgroud)

在Tabs组件内部,this.props具有属性

+Children[3]
className="tablist"
justify="start"
Run Code Online (Sandbox Code Playgroud)

儿童[0](this.props.children)看起来像

$$typeof:
Symbol(react.element)
_owner:ReactCompositeComponentWrapper
_self:null
_shadowChildren:Object
_source:null
_store:Object
key:null
props:Object
ref:null
type: Tab(props, context)
__proto__
Object
Run Code Online (Sandbox Code Playgroud)

儿童[0] .props看起来像

+Children (one element)
className="home"
justify="first title"
Run Code Online (Sandbox Code Playgroud)

最后,Children对象看起来像(这是我想传递的):

$$typeof:Symbol(react.element)
_owner:ReactCompositeComponentWrapper
_self:null …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

32
推荐指数
4
解决办法
5万
查看次数

ES6深层嵌套对象解构

我有一个名为this.propscontains 的对象

{
 actions: Object,
 dirty: false,
 form: "Statement",
 autofill: functon(),
 **statement: Object**
}
Run Code Online (Sandbox Code Playgroud)

statement 包含

{
 firstName: "John"
 lastName: "Peter"
 isConfirmed: true
}
Run Code Online (Sandbox Code Playgroud)

我想使用es6解构在同一行中提取statement对象和isConfirmed属性

我试过了

const { statement: isConfirmed, isAdmin } = this.props
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我得到了一个错误 let a = isConfirmed, b = statement

javascript ecmascript-6

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

将所有Object键设置为false

让我们说我有一个对象

  filter: {
    "ID": false,
    "Name": true,
    "Role": false,
    "Sector": true,
    "Code": false
  }
Run Code Online (Sandbox Code Playgroud)

我想将所有键设置为false(重置它们).什么是最好的方法,我想避免循环foreach和东西.任何整洁的衬垫?

javascript lodash

16
推荐指数
5
解决办法
2万
查看次数

JSX中内联的eslint注释

我收到了一个错误 (eslint): Line 199 exceeds maximum line length of 120. (max-len)

为什么这个内联评论不起作用?

{/* eslint-disable-next-line max-len */}
<Chip ref="code" style={styles.chip}backgroundColor={this.state.filterSelected['School Code'] && blue300}onTouchTap={this.handleTouchTap} >
            <Avatar size={32}>C</Avatar>
            School Code
</Chip>
Run Code Online (Sandbox Code Playgroud)

javascript eslint

12
推荐指数
2
解决办法
5431
查看次数

在slice中的index处添加单个值

如果我有

array1 := []int{1, 3, 4, 5}
array2 := []int{2, 4, 6, 8}
Run Code Online (Sandbox Code Playgroud)

我想插入array2[2]6array1[1]如之前3使array1成为一片{1, 6, 3, 4, 5}.我该怎么做?

我在网上阅读的大多数技术都涉及使用:操作符,但也会导致插入剩余的元素.如何在切片中的索引处附加单个值?

go slice

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

使用setRouteLeaveHook使用自定义对话框确认导航

我正在尝试使用自定义对话框询问用户确认,然后导航未保存的数据.

按照我的文档:

  componentDidMount() {
      this.props.router.setRouteLeaveHook(
        this.props.route,
        this.routerWillLeave
      )
  }
Run Code Online (Sandbox Code Playgroud)

而不是

  routerWillLeave(nextLocation) {
    if (!this.props.pristine) {
      return 'You have unsaved information, are you sure you want to leave this page?'

    }
Run Code Online (Sandbox Code Playgroud)

我有

  routerWillLeave(nextLocation) {
    if (!this.props.pristine) {
        this.setState({open: true})
        this.forceUpdatate() //necessary or else render won't be called to open dialog
    }
Run Code Online (Sandbox Code Playgroud)

我使用的对话框组件来自材料的UI刚刚期望一个open布尔值来控制对话框,这还需要handleCancelhandleContinue方法,但我不知道如何与它挂起来routerWillLeave.

handleCancel方法很简单,只需关闭对话框:

  handleCancel() {
    this.setState({open: false})
  };
Run Code Online (Sandbox Code Playgroud)

我已将对话框组件包装在名为的组件中 Notification

export default class Notification extends React.Component { …
Run Code Online (Sandbox Code Playgroud)

javascript react-router react-router-redux

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

替换对象值lodash

让我们说我有一个对象

var users = [
  { Mike:    'true' },
  { Tony:    'True' },
  { Ismael:  'RU' }
];
Run Code Online (Sandbox Code Playgroud)

我有这个问题,我想要规范化我的对象,基本上用布尔值替换"true"或"True",true其他任何东西应该是false.

顺便说一下,我可能有users错误的语法,chrome告诉我users.constructor == Object而不是Array.

我如何使用lodash实现这一目标?

javascript lodash

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

从另一个文件调用函数

在我的目录中,/go/src/lodo我有两个文件,main.go和uniqueElement.

uniqueElement.go

package main

import "fmt"

func unique(a []int) {
    var value int

    for i:= range a {
        value = value ^ a[i]

    }
    fmt.Println(value)

}
Run Code Online (Sandbox Code Playgroud)

main.go

package main

func main() {
    var a = []int{1, 4, 2, 1, 3, 4, 2}


    unique(a[0:])
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

./main.go:7: undefined: unique
Run Code Online (Sandbox Code Playgroud)

我怎样才能正确地调用独特的main

go

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

将字符串转换为字符串类型的切片

在下面的代码中,当我检查时,s[i]它给出了二进制数字而不是字符。代码仍然有效,但如何s[i]在仍然使用 s 类型字符串作为参数的同时返回字符?

func main() {
    
        var ip string
        fmt.Println("Enter string:")
        fmt.Scanf("%s\n", &ip)
        ip = strings.ToLower(ip)
        fmt.Println(isP(ip))
    }
    //Function to test if the string entered is a Palindrome
    
    func isP(s string) string {
        mid := len(s) / 2
        last := len(s) - 1
        for i := 0; i < mid; i++ {
            if s[i] != s[last-i] {
                return "NO. It's not a palindrome."
            }
        }
        return "YES! You've entered a palindrome"
    }
Run Code Online (Sandbox Code Playgroud)

go

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

Jest 测试,sessionStorage 未定义

我正在尝试运行我的第一个 Jest 测试,但出现此错误

 FAIL  src\containers\__test__\AppContainer.spec.js
  ? Test suite failed to run

    ReferenceError: sessionStorage is not defined
Run Code Online (Sandbox Code Playgroud)

我不确定是否应该收到此错误,因为我不是在测试 sessionStorage,只是想测试根容器。

- 更新 -

import React from 'react'
import { shallow } from 'enzyme'
import AppContainer from '../AppContainer'

//Tried here also
global.sessionStorage = {
  data: {},
  setItem: (key, value) => {
    this.data[key] = value
  },
  getItem: (key) => this.data[key]
}
describe('AppContainer', () => {
  beforeEach(function () {
    global.sessionStorage = {
      data: {},
      setItem: (key, value) => {
        this.data[key] = value
      },
      getItem: (key) …
Run Code Online (Sandbox Code Playgroud)

reactjs jestjs

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

获取字符串索引处的字符

func lengthOfLongestSubstring(s string) {
    match := make(map[string]int)
    var current string

    current = s[0]

    if match[current] == 1 {
        ///
    }

}
Run Code Online (Sandbox Code Playgroud)

为什么我收到错误cannot use s[0] (type byte) as type string in assignment?据我所知很明显s是 type string,为什么访问一个字符会将它变成 type byte

go

0
推荐指数
2
解决办法
7841
查看次数

获取二维切片的尺寸

可以说我有一个4 by 5二维数组

array := [][]byte{
    {1, 0, 1, 0, 0},
    {1, 0, 1, 1, 1},
    {1, 1, 1, 1, 1},
    {1, 0, 0, 1, 0},
}
Run Code Online (Sandbox Code Playgroud)

如何获得此数组的列和宽度?我想对此数组做一个嵌套循环,但是函数中传递的数组可能在尺寸上有所不同。

go

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