Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate React-Redux Curriculum into FCC Codebase #16138

Closed

Conversation

bonham000
Copy link
Contributor

@bonham000 bonham000 commented Dec 2, 2017

Key:

  • βœ… Challenge is migrated and solution has been successfully QA'd in FCC editor.
  • πŸ₯‡ Challenge copy has been QA'd and confirmed, ready to ship.

React Challenges:

  • βœ… πŸ₯‡ 1: Create a Simple JSX element
  • βœ… πŸ₯‡ 2: Create a Complex JSX Element
  • βœ… πŸ₯‡ 3: Add Comments in JSX
  • βœ… πŸ₯‡ 4: Render HTML Elements to the DOM
  • βœ… πŸ₯‡ 5: Define an HTML Class in JSX
  • βœ… πŸ₯‡ 6: Learn About Self-Closing JSX Tags
  • βœ… πŸ₯‡ 7: Create a Stateless Functional Component
  • βœ… πŸ₯‡ 8: Create a Component with React
  • βœ… πŸ₯‡ 9: Create a Component with Composition
  • βœ… πŸ₯‡ 10: Use React to Render Nested Components
  • βœ… πŸ₯‡ 11: Compose React Components
  • βœ… πŸ₯‡ 12: Render a Class Component to the DOM
  • βœ… πŸ₯‡ 13: Write a React Component from Scratch
  • βœ… πŸ₯‡ 14: Pass a String to a Functional Component
  • βœ… πŸ₯‡ 15: Pass an Array as Props
  • βœ… πŸ₯‡ 16: Use Default Props
  • βœ… πŸ₯‡ 17: Override Default Props
  • βœ… πŸ₯‡ 18: Use PropTypes to Define the Props You Expect
  • βœ… πŸ₯‡ 19: Access Props Using this.props
  • βœ… πŸ₯‡ 20: Using Props with Stateless Functional Components
  • βœ… πŸ₯‡ 21: Create a Stateful Component
  • βœ… πŸ₯‡ 22: Render State in the UI
  • βœ… πŸ₯‡ 23: Render State in the UI Another Way
  • βœ… πŸ₯‡ 24: Set State with this.setState
  • βœ… πŸ₯‡ 25: Bind 'this' to a Class Method
  • 26: Bind 'this' with an ES6 Arrow Function
  • βœ… πŸ₯‡ 27: Use State to Toggle an Element
  • βœ… πŸ₯‡ 28: Write a Simple Counter
  • βœ… πŸ₯‡ 29: Create a Controlled Input
  • βœ… πŸ₯‡ 30: Create a Controlled Form
  • βœ… πŸ₯‡ 31: Pass State as Props to Child Components
  • βœ… πŸ₯‡ 32: Pass a Callback as Props
  • βœ… πŸ₯‡ 33: Use the Lifecycle Method componentWillMount
  • βœ… πŸ₯‡ 34: Use the Lifecycle Method componentDidMount
  • βœ… πŸ₯‡ 35: Add Event Listeners
  • βœ… πŸ₯‡36: Manage Updates with Lifecycle Methods
  • βœ… πŸ₯‡ 37: Optimize Re-Renders with shouldComponentUpdate
  • βœ… πŸ₯‡ 38: Introducing Inline Styles
  • βœ… πŸ₯‡ 39: Add Inline Styles in React
  • βœ… πŸ₯‡ 40: Use Advanced JavaScript in React Render Method
  • βœ… πŸ₯‡ 41: Render with an If/Else Condition
  • βœ… πŸ₯‡ 42: Use && for a More Concise Conditional
  • 43: Return null to Prevent Rendering
  • βœ… πŸ₯‡ 44: Use a Ternary Expression for Conditional Rendering
  • βœ… πŸ₯‡ 45: Render Conditionally from Props Note: Pete, refactor with simulate()
  • βœ… πŸ₯‡ 46: Change Inline CSS Conditionally Based on Component State
  • βœ… πŸ₯‡ 47: Use Array.map() to Dynamically Render Elements
  • βœ… πŸ₯‡ 48: Give Sibling Elements a Unique Key Attribute
  • βœ… πŸ₯‡ 49: Use Array.filter() to Dynamically Filter an Array
  • βœ… πŸ₯‡ 50: Render React on the Server with renderToString

Redux Challenges:

  • βœ… πŸ₯‡ 1: Create a Redux Store
  • βœ… πŸ₯‡ 2: Get the State of the Redux Store
  • βœ… πŸ₯‡ 3: Define a Redux Action
  • βœ… πŸ₯‡ 4: Define an Action Creator
  • βœ… πŸ₯‡ 5: Dispatch an Action Event
  • βœ… πŸ₯‡ 6: Handle an Action in the Store
  • βœ… πŸ₯‡ 7: Use a Switch Statement to Handle Multiple Actions
  • βœ… πŸ₯‡ 8: Use const for Action Types
  • βœ… πŸ₯‡ 9: Register a Store Listener
  • βœ… πŸ₯‡ 10: Combine Multiple Reducers
  • βœ… πŸ₯‡ 11: Send Action Data to the Store
  • βœ… πŸ₯‡ 12: Use Middleware to Handle Asynchronous Actions
  • βœ… πŸ₯‡ 13: Write a Counter with Redux
  • βœ… πŸ₯‡ 14: Never Mutate State
  • βœ… πŸ₯‡ 15: Use the Spread Operator on Arrays
  • βœ… πŸ₯‡ 16: Remove an Item from an Array
  • βœ… πŸ₯‡ 17: Copy an Object with Object.assign
  • 18: Use the ES6 Spread Operator with Objects

React-Redux Challenges:

  • βœ… πŸ₯‡ 1: Getting Started with React Redux
  • βœ… πŸ₯‡ 2: Manage State Locally First
  • βœ… πŸ₯‡ 3: Extract State Logic to Redux
  • βœ… πŸ₯‡ 4: Use Provider to Connect Redux to React
  • βœ… πŸ₯‡ 5: Map State to Props
  • βœ… πŸ₯‡ 6: Map Dispatch to Props
  • βœ… πŸ₯‡ 7: Connect Redux to React
  • βœ… πŸ₯‡ 8: Connect Redux to the Messages App
  • βœ… πŸ₯‡ 9: Extract Local State into Redux
  • βœ… πŸ₯‡ 10: Moving Forward From Here

Notes

  • There is no support for async tests in the automated test environment (we skip them currently).
  • These challenges rely on editor.getOriginalCode() to provide the original, untranspiled code string.
  • Transpiled head and tail code is required in the FCC editor during for some of these challenges but is currently not working.
  • Preview function is currently not working for these challenges.

Type of Change

Description

Migrate the React-Redux Curriculum from the prototype module into the FCC codebase.

Checklist

  • Populate challenge files (title, description, seed code, solution).
  • Challenge solutions pass tests under automated test suite.
  • Manually check solutions work in app.
  • QA challenge & test copy

Motivational Images

screen shot 2017-12-03 at 8 10 11 pm

screen shot 2017-12-03 at 7 59 26 pm

screen shot 2017-12-11 at 8 02 36 pm

@BerkeleyTrue BerkeleyTrue added the status: waiting review To be applied to PR's that are ready for QA, especially when additional review is pending. label Dec 2, 2017
@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

@no-stack-dub-sack no-stack-dub-sack added the status: blocked Is waiting on followup from either the Opening Poster of the issue or PR, or a maintainer. label Dec 2, 2017
@BerkeleyTrue BerkeleyTrue added status: blocked Is waiting on followup from either the Opening Poster of the issue or PR, or a maintainer. and removed status: blocked Is waiting on followup from either the Opening Poster of the issue or PR, or a maintainer. labels Dec 3, 2017
@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

4 similar comments
@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

@camperbot
Copy link
Contributor

@no-stack-dub-sack updated the pull request.

@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

1 similar comment
@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

@bonham000 bonham000 force-pushed the feature/react-redux-migration branch from 4eabb78 to cb85379 Compare December 7, 2017 06:13
@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

@Ethan-Arrowood
Copy link
Member

@bonham000 I'm interested in helping you move over the react and redux challenges. Let me know how I can help!

@bonham000
Copy link
Contributor Author

Sounds good @Ethan-Arrowood I sent you a message on Gitter.

@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

@Ethan-Arrowood
Copy link
Member

Ethan-Arrowood commented Dec 14, 2017

Going to use this comment to track my textual QA of the migrated challenges.

Completed Challenges: All React

@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

@camperbot
Copy link
Contributor

@bonham000 updated the pull request.

@bonham000
Copy link
Contributor Author

bonham000 commented Dec 14, 2017

@Ethan-Arrowood sounds great! Thanks for QA'ing them. Keep updating here and we'll add medals πŸ₯‡ to the passing challenges in the comment above.

We've finished migrating all the challenges so this final review is the last checklist item. Thanks again for your help!

@Ethan-Arrowood
Copy link
Member

@bonham000 I'll get through all of them today (in batches). πŸŽ‰

@camperbot
Copy link
Contributor

@Ethan-Arrowood updated the pull request.

@camperbot
Copy link
Contributor

@Ethan-Arrowood updated the pull request.

@Ethan-Arrowood
Copy link
Member

All React challenges are QA'd Redux and React-Redux coming this evening.

@camperbot
Copy link
Contributor

@no-stack-dub-sack updated the pull request.

@camperbot
Copy link
Contributor

@Ethan-Arrowood updated the pull request.

@Ethan-Arrowood
Copy link
Member

Redux done. React-Redux up next πŸ’―

@camperbot
Copy link
Contributor

@Ethan-Arrowood updated the pull request.

@bonham000 bonham000 changed the title WIP: Migrate React-Redux Curriculum into FCC Codebase Migrate React-Redux Curriculum into FCC Codebase Dec 15, 2017

if (helpers.isPromise(test)) {

This comment was marked as off-topic.

const editor = {
getValue() { return source; },
getOriginalCode() { return originalCode; }
};

This comment was marked as off-topic.

originalCode = files.indexjsx.contents;
build.sources.originalCode = originalCode;
}
return frameTests(build);

This comment was marked as off-topic.

@@ -113,7 +113,7 @@ export const classicEditorUpdated = createAction(
export const modernEditorUpdated = createAction(
types.modernEditorUpdated,
null,
createFilesMetaCreator
updateFileMetaCreator

This comment was marked as off-topic.

@@ -101,6 +101,7 @@ const writeTestDepsToDocument = frameReady => ctx => {
// default for classic challenges
// should not be used for modern
tests.__source = sources['index'] || '';
tests.__originalCode = sources['originalCode'] || '';

This comment was marked as off-topic.

@BerkeleyTrue
Copy link
Contributor

This is continued in PR #16200

@BerkeleyTrue BerkeleyTrue removed status: blocked Is waiting on followup from either the Opening Poster of the issue or PR, or a maintainer. status: waiting review To be applied to PR's that are ready for QA, especially when additional review is pending. labels Dec 15, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants